PIC16F15 펌웨어 개발

 PIC16F15XXX 펌웨어 개발 1. 사용한 이유  - MCU로써의 특징은 다른 사이트에서도 많이 기재되어 있어 특별히 언급하지 않는다.  - 저가형 보드를 개발해야 됨  - 필요한 기능 : PWM, Timer, UART(디버깅용), ADC 2. 개발 방향  - 간단한 기능을 목표여서 논리회로 구성만으로 제작하려고 했으나 막상 논리회로 구성해보니 오히려 단가가 더 높아져서 저렴한 MCU를 이용해 기능을 구현하기로 함  - 상태를 기억해야되는 기능도 있어서 flashROM 영역도 사용해야 함  - 많은 MCU들이 있지만 PIC 제품이 제일 가격이 낮음  - 센서를 이용한 LED 전등제어가 목표임  3. 진행  - PIC16의 개발은 MPLAB를 이용해서 개발  -  4. 결과

토양 증발산량(ETO) 계산 JAVA 버전

ETO - 토양 증발산량 토양 증발산량이란 토양에서 증발되는 계수를 의미한다. 가뭄과 관련된 직종 또는 직업에서 토양 증발산량을 필요로한다. 아래 내용은 토양 증발산량의 대표적인 측정법인  FAO Penman-Monteith 모형 을 기준으로 JAVA로 작성한 내용이다. ** 1시간 기준으로 토양 증발산량을 계산한 내용 ** j 값은 날짜를 365일변 변경한 값 public static DateTimeFormatter fm_day = DateTimeFormatter.ofPattern("D"); ** t 값은 현재 시간을 나타냄 public static DateTimeFormatter fm_hour = DateTimeFormatter.ofPattern("HH"); public class EtoCalcService {       //DEM, LAT, LONG 값은 지정된 장소에서 측정한다면 상수값으로 사용할 수있다. static final int DEM = 45; static final float LAT = 36.22f; static final float LONG = 127.21f; public double pmet(double j ,double Thr ,double RHhr ,double t ,double Rss ,double u2 ,double Pa)  {     /*     j 오늘 올해에 몇일(day)     DEM 해발(m) 현장 45m     lat 위도(현장 위도36.22)     lon 경도(현장 경도127.21) 공식계산할 때 필요없음, 이미 공식에서 실제 현장 데이터를 입력했음     Thr 한시간에 평균 온도(℃) 센서데이터     RHhr 한시간에 평균 상대습도(%) 센서데이터     t 현제시간(예:새벽2...
이미지
<JavaScript> - 초짜 자바스크립트 개발자  목적 : 현재 날짜와 6일전 날짜 가져오기 * 그래프를 만들때 기간을 조회할 때 유용하게 사용할 있다.   - 그래프는 기본적으로 기간이 필요하기 때문이다.

C 프로젝트에서 MQTT, JSON 사용하기

1. MQTT -> paho.mqtt.c 다운로드 받아서 컴파일해서 나오는 build/output/lib관련 파일을 makefile에 추가 해주면된다. 단 실행 파일 구동시 공유 파일로 되어있어야 되기 때문에 /usr/local/lib에 파일을 추가해주고 LD_LIBARY_PATH로 잡아줘야 한다. 2. JSON -> cJSON-master 다운받아서 컴파일해서 나오는 lib 파일을 makefile에 추가 해주면 된다. 단 실행 파일 구동시 공유 파일로 되어있어야 되기 때문에 /usr/local/lib에 파일을 추가해주고 LD_LIBARY_PATH로 잡아줘야 한다. *make 가 안될때 1.fatal error: openssl/ssl.h: - sudo apt - get install libssl - dev 2. nfs 상태의 파일을 컴파일하면 심볼릭 링크가 안된다. 윈도우와 리눅스 파일 시스템이 다르기 때문이다. 따라서 작업은 home 디렉토리 밑에서 해야한다. 3.cp -d : 심볼릭 링크 그대로 복사하기를 해야한다ㄴ 4. 링크 설정 : /usr/local/lib 에 복사해 놓으면    export LD_LIBRARY_PTAH=/usr/local/lib    이후 적용을 위해 ldconfig 를 실행한다.

linux error "cannot open shared object file:No such file or directory"

linux error "cannot open shared object file:No such file or directory"  (1 ) Find where the library is placed if you don't know it. sudo find / -name the_name_of_the_file.so (2) Check for the existence of the dynamic library path environment variable(LD_LIBRARY_PATH) $ echo $LD_LIBRARY_PATH if there is nothing to be displayed, add a default path value (or not if you wish to) $ LD_LIBRARY_PATH=/usr/local/lib (3) We add the desire path, export it and try the application. Note that the path should be the directory where the path.so.something is. So if path.so.something is in /my_library/path.so.something it should be : $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/my_library/ $ export LD_LIBRARY_PATH $ ./my_app

실리콘렙스 ember zigbee - 3

이미지
Simplicity Studio를 이용한 다운로드 1. ISA3에 PC에 연결하고 command "em3xx_isa.exe"를 이용해서 pc 네트워크에 포함될 수 있도록 수정한다. 2. 수정한 결과를 확인한다. 3. Simplicity Studio에 정상적으로 연결된 경우 아래와 같이 녹색이 들어온다. 4. upload 기능을 사용할수 있다. 5. 부트로더가 최초에 다운로드되지 않았다면 포함하여 다운로드해야 한다.

실리콘렙스 ember zigbee - 2

이미지
부트로더 올리기 ZCL Application Framework V2 설정하기 1. 시리얼 통신 사용하기 *빨간색 부분을 체크해야 시리얼통신 확인