Reading PSoC™ POTEN using MQTT
Lab Objective:
This lab demonstrates the process of reading a potentiometer sensor value through an Analog-to-Digital Converter (ADC) using a Hardware Abstraction Layer (HAL) on a PSoC 6 microcontroller.
🔥 Requirements
Computer
💻
ModusToolbox™ software v3.0 or later
CY8CKIT-062S2-43012 Infineon Board
Technical Report
🚩 Let start
Software setup
ใช้ Mosquitto MQTT broker online link https://test.mosquitto.org/
Node-red on PC (Windows)
Using the code example
สร้างโปรเจคบน MTB ใช้ example code Infineon/mtb-example-wifi-mqtt-client
Operation
Connect the board to your PC using the provided USB cable through the KitProg3 USB connector.
การตั้งค่าให้ใช้งาน Broker ของ mosquitto >> link https://test.mosquitto.org/ แบบ ไม่ต้องเข้ารหัส (unencrypted) และ ไม่ต้องตรวจสอบตัวตน(unauthenticated)
ไปที่ config >> mqtt_client_config.h
ตั้งค่าที่อยู่ broker และ port แบบ Non-secure
ตั้งค่าการเชื่อมต่อ MQTT เป็นแบบ Non-secure
ตั้งชื่อ mqtt Topic สำหรับใช้ในการสื่อสารระหว่าง publisher และ subscriber
ตั้งค่า QoS เป็น mode 0 ในการสื่อผ่าน MQTT แบบ Non-secure
Build และ upload โปรแกรมลงบอร์ด
เขียนโปรแกรม Node-red ใช้ MQTT เป็น publisher ควบคุม LED บอร์ด PSoC6 <<<<<<< HEAD
import code โปรแกรม node-red และตั้งค่า node-red ตามขั้นตอน setting Node-red(https://www.dropbox.com/scl/fi/u3asndwvf30y1gog2t6lp/BDH_mtb_example-node-red_control_leb_psoc6_via_mqtt.paper?dl=0&rlkey=vqr4wopa8oxgyw5ug59u624sp#:uid=879208286062881172009041&h2=Setting-Node-red)
run โปรแกรม Node-red และเปิดเบราว์เซอร์ url: http://127.0.0.1:1880/ui
ทดลองกด ON/OFF บนเบราว์เซอร์ node-red สังเกตุ LED บอร์ด ติด-ดับ
Setting Node-red
เริ่มใช้งาน node-red → ติดตั้ง Node-red บน Windows
import code Button control LED PSoC6
คลิ๊กที่ ไฟล์ source >>Button control LED PSoC6.json
copy code ไปที่ แถบขวามือ>>คลิ๊กที่แถบ ขีดสามขีด>> เลือก import
fig: import function
c. วาง code ลงหน้า cilpboard >> เลือก new flow >> คลิ๊ก import
d. สังเกตที่แถบ flow จะมี flow ชื่อว่า “Button control LED PSoC6” ปรากฎ
หมายเหตุ: สำหรับหรับ node-red ที่ติดตั้งใหม่ ให้ติดตั้ง module dashboard เพิ่ม
ไปที่ Manage palette >>Install>> search modules >> พิมพ์ “Dashboard >> เลือก node-red-dashboard >> install
ดูตัวอย่างการใช้งาน dashboard เบื้องต้นได้จาก LAB: Basic Node-red Dashboard
ตรวจสอบการตั้งค่า ใช้ node-red เป็น Publish โดยดับเบิ้ลคลิ๊กที่ mqtt out node หรือ PSoC6Status node ที่โปรแกรม node-red และ แก้ไขการตั้งค่าข้อมูลช่องให้ตรงตามข้อมูลด้านล่าง ดังนี้
Server >> แก้ไขเป็น “IP address ของ Broker” port: “1883”
Topic >> ตั้งค่าเป็น PSoC6Status
QoS >> ตั้งค่าเป็น “0”
ตรวจสอบการตั้งค่า ใช้ node-red dashboard ปุ่ม button node ทั้ง 2 node สำหรับควบคุม On/Off LED
การตั้งค่าตรงดังภาพด้านล่างหรือไม่
คลิ๊ก Deploy เพื่อให้ Node-red ทำงานตามโปรแกรมที่ได้ตั้งค่าไว้
เปิดหน้าเบราว์เซอร์ขึ้นมา ใส่ “your ip address:1883/ui” จะปรากฎหน้า dashboard ของ node-red
ตัวอย่าง
Date: 10 May 2023
Author: Soontree Jaikhong (AIC-Researcher)
Last updated