This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| et:iot:examples:setup:broker [2024/09/18 12:16] – raivo.sell | et:iot:examples:setup:broker [2024/09/20 09:48] (current) – raivo.sell | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | =====MQTT vahendaja===== | ||
| + | Sellel lehel selgitatakse, | ||
| + | |||
| + | Saate alla laadida korrektse konfiguratsiooniga AP ja MQTT vahendaja kettatõmmise siit: | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | |||
| + | Juhend kuvatõmmise paigaldamiseks on [[https:// | ||
| + | |||
| + | |||
| + | Kui olete kettatõmmise SD-kaardile kopeerinud, sisestage see oma Raspberry Pi-sse ja seejärel ühendage toitekaabel (micro USB). Wifi-AP ja MQTT teenused käivituvad automaatselt. | ||
| + | |||
| + | Teenuste töö kontrollimiseks ühendage Raspberry Pi arvuti ekraani ja klavitatuuriga või logige sisse teisest arvutist üle SSH. | ||
| + | |||
| + | Terminali kaudu saate kinnitada, kas MQTT vahendaja töötab. Selleks avage terminali aken ja sisestage < | ||
| + | Kui esimesse aknasse ilmus teie poolt sisestatud sõnum, siis MQTT vahendaja teenus töötab. | ||
| + | |||
| + | Kui see töötab, peaksite järgmisena proovima ühendada oma sülearvuti (või muu seadme) Raspberry' | ||
| + | |||
| + | NB!! Vältige Raspberry väljalülitamist toitejuhtme eemaldamise teel, kuna see võib põhjustada SD-kaardi rikkumise. Raspberry tuleks alati välja lülitada GUI kaudu või terminali kaudu kirjutades //sudo shutdown now// (kasutades ekraani ja klaviatuuri või SSH). | ||
| + | Raspbiani uuendamine võib algse süsteemi töö lõpetada. Arvestage sellega uuendamisel ja hoidke koopiat olulistest konfiguratsioonifailidest või algsest süsteemist. | ||
| + | |||
| + | =====Paroolid ja muu teave Raspberry vahendaja jaoks===== | ||
| + | |||
| + | **Raspberry Pi IP-aadress (vahendaja ja SSH jaoks):** | ||
| + | |||
| + | 192.168.4.1 | ||
| + | |||
| + | Port MQTT vahendaja jaoks (ilma paroolita): 1883 | ||
| + | |||
| + | **Raspberry sisselogimine (SSH):** | ||
| + | |||
| + | kasutajanimi: | ||
| + | |||
| + | parool: raspberry | ||
| + | |||
| + | **Raspberry Wifi pääsupunkt: | ||
| + | |||
| + | ssid: raspberryIoT | ||
| + | |||
| + | parool: piIoT123 | ||
| + | |||
| + | ===== Testimine ===== | ||
| + | |||
| + | Selleks, et testida, kas kõik töötab, kasutage IoT Basic komplekti. | ||
| + | |||
| + | Ühendage üks Kontrolleri moodul Nupu mooduliga ja laadige sellele moodulile üles järgmine testkood: | ||
| + | |||
| + | Raamatukogud platformio.ini-s | ||
| + | < | ||
| + | lib_deps = ITTIoT, blackketter/ | ||
| + | </ | ||
| + | |||
| + | Lähtekood | ||
| + | <code c> | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | #define MODULE_TOPIC " | ||
| + | const byte buttonPin = D3; | ||
| + | |||
| + | Switch button = Switch(buttonPin); | ||
| + | |||
| + | void iot_connected() | ||
| + | { | ||
| + | iot.log(" | ||
| + | } | ||
| + | |||
| + | void setup() | ||
| + | { | ||
| + | iot.setConfig(" | ||
| + | iot.setConfig(" | ||
| + | iot.setConfig(" | ||
| + | iot.setConfig(" | ||
| + | iot.setup(); | ||
| + | } | ||
| + | |||
| + | void loop() | ||
| + | { | ||
| + | iot.handle(); | ||
| + | button.poll(); | ||
| + | |||
| + | if (button.released()) { | ||
| + | iot.log(" | ||
| + | iot.publishMsgTo(MODULE_TOPIC," | ||
| + | } | ||
| + | if (button.pushed()) { | ||
| + | iot.log(" | ||
| + | iot.publishMsgTo(MODULE_TOPIC," | ||
| + | } | ||
| + | |||
| + | delay(3); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | siis ühendage teine Kontrolleri moodul RGB mooduliga ja laadige üles järgmine kood: | ||
| + | |||
| + | Raamatukogud platformio.ini-s | ||
| + | < | ||
| + | lib_deps = ITTIoT, Adafruit NeoPixel | ||
| + | </ | ||
| + | |||
| + | Lähtekood | ||
| + | <code c> | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | #define MODULE_TOPIC " | ||
| + | #define PIN D2 | ||
| + | Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, | ||
| + | |||
| + | String getValue(String data, char separator, int index) | ||
| + | { | ||
| + | int found = 0; | ||
| + | int strIndex[] = {0, -1}; | ||
| + | int maxIndex = data.length()-1; | ||
| + | |||
| + | for(int i=0; i< | ||
| + | { | ||
| + | if(data.charAt(i)==separator || i==maxIndex) | ||
| + | { | ||
| + | found++; | ||
| + | strIndex[0] = strIndex[1]+1; | ||
| + | strIndex[1] = (i == maxIndex) ? i+1 : i; | ||
| + | } | ||
| + | } | ||
| + | return found> | ||
| + | } | ||
| + | |||
| + | void iot_received(String topic, String msg) | ||
| + | { | ||
| + | if(topic == MODULE_TOPIC) | ||
| + | { | ||
| + | String r = getValue(msg,';', | ||
| + | String g = getValue(msg,';', | ||
| + | String b = getValue(msg,';', | ||
| + | pixels.setPixelColor(0, | ||
| + | pixels.show(); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | void iot_connected() | ||
| + | { | ||
| + | iot.subscribe(MODULE_TOPIC); | ||
| + | iot.log(" | ||
| + | } | ||
| + | |||
| + | void setup() | ||
| + | { | ||
| + | iot.setConfig(" | ||
| + | iot.setConfig(" | ||
| + | iot.setConfig(" | ||
| + | |||
| + | iot.setup(); | ||
| + | |||
| + | pixels.begin(); | ||
| + | pixels.setPixelColor(0, | ||
| + | pixels.show(); | ||
| + | } | ||
| + | |||
| + | void loop() | ||
| + | { | ||
| + | iot.handle(); | ||
| + | delay(200); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Käivitage Raspberry Pi ja mõlemad moodulid. Oodake, kuni RGB süttib, ja proovige siis vajutada Nupu moodulil nuppu. RGB mooduli värv peaks muutuma roheliseks. Kui see juhtub, on kõik õigesti seadistatud. Raspberry Pi teenindab wifi ja MQTT vahendaja teenust antud parameetritega. | ||
| + | |||
| + | {{: | ||