mDNS 이름을 쫓아 MQTT로 무언가를 던지는 버튼
2972 단어 RaspberryPiM5Atomnode-red
RaspberryPi 종료 또는 재설정에 이상적
Raspberry Pi가 재부팅하고 IP 주소가 바뀌면 제대로 IP 주소를 쫓을 수있게했다.
・추가한 노드 노드(비늘 기억)
node-red-contrib-rpi-shutdown
node-red-contrib-aedes
・좋은 느낌에 node-RED를 만들어 둔다
주제 이름은 topic
참고 자료
htps : // 이 m / 하나 펑 / ms / c2df143db에서 33에 03에 674
h tps:// 퀵했다. 작은 m/포루루장/있어 MS/5d9434아아 C4895f8아 6f7아
출처
m5atom-MQTTswith
m5atom-MQTTswith.ino
#include <M5Atom.h>
#include <WiFi.h>
#include <PubSubClient.h>
#include <ESPmDNS.h>
WiFiClient wifi;
const char* wifi_ssid = "Wi-Fi";
const char* wifi_password = "pass";
PubSubClient client(wifi);
//.local不要
const char* mqtt_server = "your Raspberry Pi mDNS name";
const uint16_t mqtt_port = 1883;
#define MQTT_CLIENT_NAME "M5Atom"
#define BTN_PUSH_MARGIN 100
#define MQTT_BUFFER_SIZE 512
bool pressed = false;
void wifi_connect(void){
Serial.print("WiFi Connenting");
WiFi.begin(wifi_ssid, wifi_password);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(1000);
}
Serial.println("");
Serial.print("Connected : ");
Serial.println(WiFi.localIP());
}
void sendMessage(void){
// MQTT Publish
client.publish("topic","1");
delay(BTN_PUSH_MARGIN);
client.publish("topic","0");
}
void setup() {
M5.begin(true, false, true);
Serial.begin(115200);
wifi_connect();
if(!MDNS.begin("m5atom")){
Serial.println("Error MDNS");
while(1){
delay(1000);
}
}
client.setBufferSize(MQTT_BUFFER_SIZE);
}
void loop() {
client.loop();
while(!client.connected() ){
if (MDNS.queryHost(mqtt_server)==IPAddress('0.0.0.0')){
delay(1000);
}
IPAddress mqtt_server_ip = MDNS.queryHost(mqtt_server);
Serial.println(mqtt_server_ip);
client.setServer(mqtt_server_ip, mqtt_port);
Serial.println("Mqtt Reconnecting");
if( client.connect(MQTT_CLIENT_NAME) ){
Serial.println("Mqtt Connected");
break;
}
delay(1000);
}
M5.update();
if (M5.Btn.isPressed() && !pressed ){
pressed = true;
// 送信
sendMessage();
Serial.println("Mqtt Send");
delay(BTN_PUSH_MARGIN);
}else if( M5.Btn.isReleased() && pressed ){
pressed = false;
delay(BTN_PUSH_MARGIN);
}
}
Reference
이 문제에 관하여(mDNS 이름을 쫓아 MQTT로 무언가를 던지는 버튼), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yasunori_oi/items/155e4682ab446867e78c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)