본문 바로가기

컴퓨터/아두이노 라즈베리파이17

리눅스)crontab으로 python파일 주기적으로 실행시키고 log남기기 작업환경: 라즈비안 리눅스 (라즈베리파이4) 근데 걍 데비안이랑 거의 똑같음. 근데 우분투환경도 설정은 똑같을듯 1. crontab 설치 $sudo apt-get install cron 2. crontab -e 로 설정 3. 로깅하기 crontab -e에서 적은 내용 확인하려면 crontab -l하면됨 실행파일 >> 로그파일 2>&1 하면 로그파일에 로깅할 수 있음. 4. 에러 수정 로깅 문제1 ) 로그를 보니 /bin/sh: 1: /home/pi/challenge100/test.py: Permission denied 에러 발생 python 파일을 실행을 못함 > python파일의 권한을 실행도 가능하도록 바꿔줌 $ chmod 775 file.py 로깅 문제2 ) SyntaxError: invalid s.. 2022. 12. 11.
라즈베리파이4 SSH접속 설정 1. 기본 업데이트 - $ sudo apt-get upgrade - $ sudo apt-get update 2. ssh 연결 가능하게 설정 - Preference > Raspberry pi configuration > interfaces > SSH 를 Enable로 바꾸기 근데 이렇게 했는데 ssh 접속이 안됐음. - $ sudo raspi-config 로 들어가서 > Interface options > SSH > YES 하면 [The SSH server is enabled] 라는 문구가뜸. - 둘중 아무거나 해도 될 것 같다. 확인하고보니까 IP주소를 잘못쳐서 접속이 안된거였었다. 3. ssh접속 - Raspberry pi 쪽에서 인터넷연결하고 ifconfig해서 IP주소 확인 - 확인한 주소로 연결하.. 2022. 12. 11.
아두이노 메가와 OLED, BLE(HM-10) 연동 오류 해결 전에 아두이노 우노에서 oled와 블루투스 모듈을 한번에 사용하려고 했다가 메모리 문제로 인해 동시 사용을 못하게 된 후 (바로 그 문제를 직면했던 날 게시글) https://waytocse.tistory.com/76 [아두이노] Uno에서 Adafruit_SSD1306와 SoftwareSerial 동시 사용 불가(OLED와 Bluetooth) 아래 상황 처럼 위의 스캐치를 업로드 한 경우 Adafruit_SSD1306와 SoftwareSerial 즉, OLED와 Bluethooth모듈을 동시에 사용하고 싶은 경우 위 스캐치는 업로드 되고 작동 잘 되는데 아래 스케치에서는 Oled waytocse.tistory.com 바~~~로 아두이노 메가를 샀다. (비싸...) 그런데 아두이노 우노에서 돌아가던 코드.. 2021. 12. 12.
[아두이노] Uno에서 Adafruit_SSD1306와 SoftwareSerial 동시 사용 불가(OLED와 Bluetooth) 아래 상황 처럼 위의 스캐치를 업로드 한 경우 Adafruit_SSD1306와 SoftwareSerial 즉, OLED와 Bluethooth모듈을 동시에 사용하고 싶은 경우 위 스캐치는 업로드 되고 작동 잘 되는데 아래 스케치에서는 Oled가 작동이 안된다. 이유는 메모리 때문이다. https://github.com/adafruit/Adafruit_SSD1306/issues/28 incompatibility with SoftwareSerial · Issue #28 · adafruit/Adafruit_SSD1306 As soon as I instantiate a SoftwareSerial object, my OLED display doesn't work anymore. I tried different pi.. 2021. 12. 3.
[아두이노] 안드로이드와 BLE(Bluetooth4) 통신3 - 앱으로 데이터 전송 0. 준비 앞서 아래 글에서 안드로이드 앱에서 아두이노로 블루투스 통신을 통해 값을 전송했었다. https://waytocse.tistory.com/74 [아두이노] 안드로이드와 BLE(Bluetooth4) 통신2 - 회로도/코드 0. 준비 앞서 아래 글을 통해 통신할 안드로이드를 개발하고 https://waytocse.tistory.com/73 [아두이노] 안드로이드와 BLE(Bluetooth4) 통신1 - 안드로이드 개발 0. 준비 안드로이드에서 BLE통신을 구현하. waytocse.tistory.com 이 글에서 이어서 진행한다. 1. 아두이노 블루투스 통신 회로도 앞 글과 아두이노 회로도는 같다. RX를 5번, TX를 4번핀에 연결한다. GND를 연결하고 VCC를 3.3V에 연결한다. 2. 아두이.. 2021. 12. 2.
[아두이노] 안드로이드와 BLE(Bluetooth4) 통신2 - 회로도/코드 0. 준비 앞서 아래 글을 통해 통신할 안드로이드를 개발하고 https://waytocse.tistory.com/73 [아두이노] 안드로이드와 BLE(Bluetooth4) 통신1 - 안드로이드 개발 0. 준비 안드로이드에서 BLE통신을 구현하는 것은 매우 어렵고 복잡하다. 그래서 reference문서를 보거나 서칭해가면서 ble를 직접 앱상에 구현해보려고했는데 너무 어려워서 일단 중단하고 프로 waytocse.tistory.com 그 다음 이 글의 과정을 진행해야한다. 그리고 이 글은 아두이노 우노를 기준으로 작성됐다. 아두이노 메가에서 작동하는 것은 아래 링크의 문제해결3번을 참고하면서 이 글을 따라하면 된다. https://waytocse.tistory.com/77 아두이노 메가와 OLED, BLE(.. 2021. 11. 30.
[아두이노] 안드로이드와 BLE(Bluetooth4) 통신1 - 안드로이드 개발 0. 준비 안드로이드에서 BLE통신을 구현하는 것은 매우 어렵고 복잡하다. 그래서 reference문서를 보거나 서칭해가면서 ble를 직접 앱상에 구현해보려고했는데 너무 어려워서 일단 중단하고 프로젝트 기능 완성에 초점을 맞춰보기 위해 구현된 ble앱을 깃헙에서 다운받아서 필요한 UI만 새로 코딩하여 작동시키는 방식으로 진행했다. 이용한 ble앱은 SimpleBluetoothLeTerminal로 깃헙주소는 다음과 같다. https://github.com/kai-morich/SimpleBluetoothLeTerminal GitHub - kai-morich/SimpleBluetoothLeTerminal: Android terminal app for Bluetooth LE devices using custom.. 2021. 11. 30.
[아두이노] OLED에 온습도 센서값 출력하기 oled에 온습도 값과 토양습도값을 출력하고자 한다. 소스코드는 다음과 같다. #include #include #include #include #include "Timer.h" //pin setting int soil = A0; DHT11 dht11(A2); Timer t; //value initialize float humi=0, temp=0,soilmoisture=0; #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); void .. 2021. 11. 15.
[아두이노] OLED 아두이노 우노(Arduino UNO R3)를 기준으로 작성했다. 아두이노 메가를 기준으로 하고싶다면 이 글을 따라하고 아래 게시글의 문제해결 2번을 참고하면 된다. https://waytocse.tistory.com/77 아두이노 메가와 OLED, BLE(HM-10) 연동 오류 해결 전에 아두이노 우노에서 oled와 블루투스 모듈을 한번에 사용하려고 했다가 메모리 문제로 인해 동시 사용을 못하게 된 후 (바로 그 문제를 직면했던 날 게시글) https://waytocse.tistory.com/76 [아두이 waytocse.tistory.com OLED을 통해 원하는 문구나 그림을 표시할 수 있다. 내가 사용한 OLED는 전에 ESP로 OLED동작시켰을 때와 같은 [ELECROW] 128x64 OLED 디.. 2021. 11. 15.
[아두이노] 토양습도센서 SoilMoisture 회로는 딱히 말할 거 없이 5V VCC, GND연결하고 DO이나 AO을 출력핀에 연결한다. 나는 A0를 출력핀으로 설정했다. 코드는 다음과 같다. int soil = A0; void setup() { Serial.begin(9600); } void loop() { int value = analogRead(soil); Serial.print("read sensor value: "); Serial.println(value); //수분이 없으면 1023, 수분이 높을수록 0 delay(1000); } 다음과 같은 환경에서 실행을 해본다. 수분이랑 닿아있지 않음으로 1023이 나타날 것이다. 시니얼모니터로 본 결과는 다음과 같다. 굿. 2021. 11. 15.
[아두이노] DHT11 온습도 센서 + 타이머 기능 활용 아래와 같이 코드를 작성한다. Timer를 사용하고 싶지 않다면 그냥 바로 loop에다가 온습도값 출력을 하면 된다. #include #include "Timer.h" int pin=A2; //출력핀 아날로그2로 설정 DHT11 dht11(pin); Timer t; void setup(){ Serial.begin(9600); t.every(2000, getValue); //2초마다 getValue()함수 호출 } float humi=0, temp=0; void loop(){ t.update(); } void getValue(){ //온습도값 출력 dht11.read(humi, temp); Serial.print("temperature: "); Serial.println(temp); Serial.print.. 2021. 11. 15.
임베디드시스템설계실험 텀프 - 손 크기에 따른 세정제 양 분출 조절기 작년 이 맘때쯤했던 임베디드 시스템 설계 및 실험 텀프로젝트 당시 코로나로 인해 어딜가든 손세정제를 볼 수 있었는데 수동으로 짜서 쓰는(펌프) 손세정제나 자동분출기들은 사람들의 다양한 손 크기에 따라 양 조절이 불가하여 세정제를 낭비하게 됨과 공공장소에 비치된 세정제들은 통이 비어도 빠른 교체가 되지 않는 불편함에서 착안하여 이 프로젝트를 기획하게 됐다. 그래서 프로젝트의 목표는 다음과 같다. 수업시간에 배운 여러 센서 및 보드의 기능을 이용하여 하드웨어를 개발한다. Bluetooth 와 같은 통신 관련 기능을 이용하고 인터럽트를 활용한다. 센서 사이 의존성을 추가하여 한 센서 값이 다른 센서 이용을 호출하도록 개발한다. 낭비되는 손 세정제의 양을 줄이고 알맞지 않은 양으로 인한 사용자의 불편을 줄인다... 2021. 11. 14.