프로그래밍/MQTT8 [Python] MQTT를 이용한 GPS 값 전송 (raspberry pi 이용) 들어가기전에 앞서 - > 인공위성이 잡혀야하고 좌표값을 계산하는데에 맑은날 야외에서 30분정도의 시간이 필요합니다.(라즈베리파이 리부트하지마세요..) (이것 때문에...고생했던...으아니...) (내가 예전에 어디서 들은건데 gps값 찾을려면 최소 3개 이상의 인공위성이 잡혀야한다고...) 1. Publisher Code import serial,time,pynmea2 import paho.mqtt.client as mqtt import json port = '/dev/ttyACM0' baud = 9600 ID="MFBE29" serialPort = serial.Serial(port, baudrate = baud, timeout = 0.5) def on_connect(client, userdata, fl.. 2022. 9. 5. [Python] MQTT를 이용한 이미지 전송 (raspberry pi 이용) (들어가기전에 -> 이미지를 순수하게 전송할수는 없고 base64를 사용하여 디코드 인코드 하여야 합니다.) 1. Publisher Code 간단 알고리즘 설명 : 사진찍음 → 찍은사진 1장 폴더에 저장→ 폴더에 있는 파일 open함→ image파일을 인코딩함 → 인코딩된 것을 변수로 할당받음→ 할당받은 변수를 mqtt전송함. 주의 ※ base64사용시 약 130% 용량이 증가함. 게다가 이미지의 화소가 높으면 인코딩시 str형식이던 byte형식이던 너무 길어짐으로 mqtt전송에 딜레이가 심하고 전송이 거의 안됨. 즉, 찍히는 사진 크기 줄여서 사진을 찍으세요 ※ 상대경로 절대경로 설정 ※ 다시한번 말한다 , QOS Level은 일치해야한다. (나는 rabbitmq써서 qos level 2지원안함...).. 2022. 8. 29. [Python] MQTT를 이용한 자이로센서 값 전송 (raspberry pi 이용) (들어가기전에-> 1. 자이로센서는 MPU6050 사용하였습니다 ) (한국인이 좋아하는 결론부터 말하기) 자이로센서 값(데이터)를 전송하는 코드. ''' Read Gyro and Accelerometer by Interfacing Raspberry Pi with MPU6050 using Python http://www.electronicwings.com ''' import smbus #import SMBus module of I2C from time import sleep #some MPU6050 Registers and their Address PWR_MGMT_1 = 0x6B SMPLRT_DIV = 0x19 CONFIG = 0x1A GYRO_CONFIG = 0x1B INT_ENABLE = 0x38 AC.. 2022. 8. 15. [Python] MQTT 통신하기(docker,rabbitmq사용) (들어가기전 -> 1. 만약 본인의 컴퓨터에서 한다면 ip:localhost ,port=1883 으로 설정하면 됩니다. 2. docker를 사용하지 않면 포트포워딩 없이 서버의 ip, port를 입력하시면 됩니다. 3. 파이썬 기반으로 작성하였습니다. ) 1. 기본적인 Subscriber Code ## Subscriber Code using Paho import paho.mqtt.client as mqtt def on_connect(client, userdata, flags, rc): if rc == 0: print("connected OK") else: print("Bad connection Returned code=", rc) def on_disconnect(client, userdata, flags.. 2022. 8. 12. (4) MQTT.fx 사용하기 -> MQTT.fx는 java로 만들어진 MQTT Client이다. 1) MQTT.fx를 설치를 해준다. https://mqttfx.jensd.de/index.php/download Download mqttfx.jensd.de http://www.jensd.de/apps/mqttfx/1.7.1/ (리눅스 버전다운받기) Index of /apps/mqttfx/1.7.1 www.jensd.de 2) Broker 실행 3) Subscriber 실행 Topic을 설정후에 Subscribe클릭 4) Publisher 실행 채팅하고 싶은것을 타이핑후 우측 publish 클릭 (5) 실행결과 2022. 3. 1. (3) 파이썬에서 MQTT 사용하기. 1) MQTT모듈 설치 pip install paho-mqtt 2) 클라이언트가 broker에 접속하는 코드 #!python3 import paho.mqtt.client as mqtt #import the client1 import time # connetcion being created and the callback being triggered 해야해서 time.sleep 필요 def on_connect(client, userdata, flags, rc): # client= 클라이언트 대상 ,rc= 리턴코드 if rc==0: # 리턴코드=0일때 연결성공/ 1~5는 refused / 6~255 사용안됨 client.connected_flag=True # set flag(연결이 되면 true로 바꿈) pr.. 2022. 3. 1. 이전 1 2 다음