3 1 USART ul li ol Universal synchronous

  • Slides: 61
Download presentation

3 -1. USART 통신 리스트 태그 - ul, li, ol ● Universal synchronous asynchronous

3 -1. USART 통신 리스트 태그 - ul, li, ol ● Universal synchronous asynchronous receiver-transmitter ● Clock 핀을 이용하여 동기화

printf 설정 3 -1. 리스트 태그 - ul, li, ol /* USER CODE BEGIN

printf 설정 3 -1. 리스트 태그 - ul, li, ol /* USER CODE BEGIN Includes */ #include <stdio. h> /* USER CODE END Includes */ /* USER CODE BEGIN 4 */ int __io_putchar(int ch) { HAL_UART_Transmit(&huart 1, (uint 8_t*)&ch, 1, 100) ; return ch ; } /* USER CODE END 4 */

printf 테스트 3 -1. 리스트 태그 - ul, li, ol /* USER CODE BEGIN

printf 테스트 3 -1. 리스트 태그 - ul, li, ol /* USER CODE BEGIN 2 */ printf("startrn") ; /* USER CODE END 2 */ /* USER CODE BEGIN 3 */ printf("testrn") ; HAL_Delay(2000) ; } /* USER CODE END 3 */

teraterm 3 -1. 리스트 태그 - ul, li, ol

teraterm 3 -1. 리스트 태그 - ul, li, ol

teraterm 3 -1. 리스트 태그 - ul, li, ol

teraterm 3 -1. 리스트 태그 - ul, li, ol

3 -1. USB - UART 모듈리스트 태그 - ul, li, ol RX RX TX

3 -1. USB - UART 모듈리스트 태그 - ul, li, ol RX RX TX TX GND

UART 포트 3 -1. 추가 리스트 태그 - ul, li, ol /* USER CODE

UART 포트 3 -1. 추가 리스트 태그 - ul, li, ol /* USER CODE BEGIN 4 */ int __io_putchar(int ch) { HAL_UART_Transmit(&huart 1, (uint 8_t*)&ch, 1, 100) ; HAL_UART_Transmit(&huart 4, (uint 8_t*)&ch, 1, 100) ; return ch ; } /* USER CODE END 4 */

3 -1. 리스트 라즈베리파이 셋업 태그 - ul, li, ol ● https: //www. raspberrypi.

3 -1. 리스트 라즈베리파이 셋업 태그 - ul, li, ol ● https: //www. raspberrypi. org/software/operating-systems/#raspberry-pi-os-32 -bit ● 직접 연결 ● SSH를 통한 연결

bitvise 3 -1. 리스트 태그 - ul, li, ol ● https: //www. bitvise. com/download-area

bitvise 3 -1. 리스트 태그 - ul, li, ol ● https: //www. bitvise. com/download-area ● terminal 뿐만 아니라 SFTP도 사용 가능

screen 설치 3 -1. 리스트 태그 - ul, li, ol ● sudo apt-get install

screen 설치 3 -1. 리스트 태그 - ul, li, ol ● sudo apt-get install screen ● screen /dev/tty. USB 0 9600

python으로 3 -1. 연결 리스트 태그 - ul, li, ol ● pip 3 install

python으로 3 -1. 연결 리스트 태그 - ul, li, ol ● pip 3 install pyserial

python으로 3 -1. 연결 리스트 태그 - ul, li, ol import serial ser =

python으로 3 -1. 연결 리스트 태그 - ul, li, ol import serial ser = serial. Serial('/dev/tty. USB 0') r = ser. readline() print(r) ser. close()

3 -1. AWS IOT 설정 리스트 태그 - ul, li, ol ● unzip connect_device_package.

3 -1. AWS IOT 설정 리스트 태그 - ul, li, ol ● unzip connect_device_package. zip ● vim start. sh

start. sh 3 -1. 리스트 태그 - ul, li, ol ● pushd -> cd

start. sh 3 -1. 리스트 태그 - ul, li, ol ● pushd -> cd ● popd -> cd. .

start. sh 3 -1. 리스트 태그 - ul, li, ol

start. sh 3 -1. 리스트 태그 - ul, li, ol

3 -1. 리스트 AWS IOT 테스트 태그 - ul, li, ol ● chmod +x

3 -1. 리스트 AWS IOT 테스트 태그 - ul, li, ol ● chmod +x start. sh ● sudo. /start. sh ● Ctrl + C를 눌러 종료

3 -1. 업로드 테스트 리스트 태그 - ul, li, ol from AWSIo. TPython. SDK.

3 -1. 업로드 테스트 리스트 태그 - ul, li, ol from AWSIo. TPython. SDK. MQTTLib import AWSIo. TMQTTClient client_id = 'raspberry_pi_tester' mqtt_client = AWSIo. TMQTTClient(client_id) mqtt_client. configure. Endpoint("amrpa 8 yg 0 il 0 y-ats. iot. ap-northeast-2. amazonaws. com", 8883) mqtt_client. configure. Credentials("/home/pi/certs/root-CA. crt", "/home/pi/certs/raspberry_pi_tester. private. key", "/home/pi/certs/raspberry_pi_tester. cert. pem") mqtt_client. configure. Offline. Publish. Queueing(-1) mqtt_client. configure. Draining. Frequency(2) mqtt_client. configure. Connect. Disconnect. Timeout(10) mqtt_client. configure. MQTTOperation. Timeout(5) mqtt_client. connect() mqtt_client. publish("rpi/count", '{"status": "connect"}', 0)

3 -1. 업로드 테스트 리스트 태그 - ul, li, ol from AWSIo. TPython. SDK.

3 -1. 업로드 테스트 리스트 태그 - ul, li, ol from AWSIo. TPython. SDK. MQTTLib import AWSIo. TMQTTClient import json, time for i in range(5) : payloads = { "count" : i } mqtt_client. publish("rpi/count", json. dumps(payloads), 0) time. sleep(1)

3 -1. 업로드 테스트 리스트 태그 - ul, li, ol from AWSIo. TPython. SDK.

3 -1. 업로드 테스트 리스트 태그 - ul, li, ol from AWSIo. TPython. SDK. MQTTLib import AWSIo. TMQTTClient import json, time import serial ser = serial. Serial('/dev/tty. USB 0', baudrate=9600) ser. reset_input_buffer() while True : if ser. in_waiting : r = ser. readline() payloads = { "value" : r. decode('utf-8') } mqtt_client. publish("rpi/serial", json. dumps(payloads), 0)

3 -1. MQTT 프로토콜 리스트 태그 - ul, li, ol ● Message Queuing Telemetry

3 -1. MQTT 프로토콜 리스트 태그 - ul, li, ol ● Message Queuing Telemetry Transport ● https: //mqtt. org/

3 -1. MQTT Topic 리스트 태그 - ul, li, ol ● rpi/sensor/acc/x ● rpi/sensor/acc/+

3 -1. MQTT Topic 리스트 태그 - ul, li, ol ● rpi/sensor/acc/x ● rpi/sensor/acc/+ ● rpi/sensor/# ● #

MQTT Qo. S 3 -1. 리스트 태그 - ul, li, ol

MQTT Qo. S 3 -1. 리스트 태그 - ul, li, ol

3 -1. 리스트 태그 - ul, li, ol json ● Java. Script Object Notation

3 -1. 리스트 태그 - ul, li, ol json ● Java. Script Object Notation ● 표준 포맷 ● key-value 형식의 구조 ● 데이터 송수신에 많이 사용 ● number, string, array, object

thingspark 3 -1. 리스트 태그 - ul, li, ol ● the K system에서 만든

thingspark 3 -1. 리스트 태그 - ul, li, ol ● the K system에서 만든 IOT Cloud Service ● 여러 센서 데이터를 모으고 바로 차트로 볼 수 있음 ● RESTFul, MQTT, Web. Socket등 지원 ● https: //www. thingspark. co. kr/

RESTFul 3 -1. 리스트 태그 - ul, li, ol ● Client / Server ●

RESTFul 3 -1. 리스트 태그 - ul, li, ol ● Client / Server ● stateless ● URI - Uniform Resource Identifier

3 -1. 데이터 업로드 리스트 태그 - ul, li, ol import requests url =

3 -1. 데이터 업로드 리스트 태그 - ul, li, ol import requests url = "https: //api. thingspark. co. kr/update" params = { "api. Key" : "Zev. Q 2 UAo. IXHDR 90 L", "field 1" : 5 } r = requests. get(url, params=params) print(r. text)

데이터 읽기 3 -1. 리스트 태그 - ul, li, ol import requests url =

데이터 읽기 3 -1. 리스트 태그 - ul, li, ol import requests url = "https: //api. thingspark. kr/channels/65712/entrys? results=10" r = requests. get(url) print(r. text)