Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bəzən səhərlər ofisə getməzdən əvvəl qəhvəmi yudumlarkən, e -poçt gələnlər qutusunda məni gözlədiklərini görmək istərdim. yəni alınan e -poçtların sayı və tonu.. Bir gün əvvəl bitirdiyim layihə ilə birlikdə işləyir və ya işləmir və bu barədə müsbət və ya mənfi şərhlər varsa. Digər tərəfdən, cib telefonumla e -poçt müştəri tətbiqini açıb səhər yeməyi zamanı e -poçtları oxumağa başlamağı əsla düşünmürəm.
Bu mülahizələrdən bu layihənin ideyası gəlir; E -poçt hesabımda alınan son oxunmamış e -poçtlarda edilən duyğu analizinin nəticələrinə əsasən rənglərini dəyişən LED işıqları ilə gücləndirilmiş bir qəhvə kubokundan istifadə edir. Yalnız kuboku bağlayın və son qəbul edilən e -poçtlarda müsbət mesajlar, əksinə qırmızı rəng varsa, LED işıqları yaşıl rəngə çevriləcək.
Oxunmamış e -poçtların duyğu təhlili IBM Watson IoT xidmətləri tərəfindən aparılır. LED şeridini idarə etmək və MQTT protokolu ilə WiFi üzərindən IBM Watson IoT xidmətləri ilə əlaqə yaratmaq üçün Arduino MKR1000 lövhəsi istifadə olunur.
Addım 1: Avadanlıq Komponentləri
Avadanlıq inkişaf etdirmə lövhəsi:
Arduino MKR1000
Avadanlıq BOM
- 3x 100ohm rezistorlar
- 3x TIP122 NPN tranzistorlar
- 1 x güc jakı
- 1x RGB LED İşıq Şeridi (AglaiaLT-S2)
- Ehtiyat kabellər
LED şeridini Arduino MKR1000 ilə idarə etmək üçün naqillər bu təlimata əsaslanır:
Addım 2: IBM Watson IoT -da Hesab yaradın və Cihazınızı Qeyd Edin
IBM Watson IoT ilə oxunmamış e-poçtların duyğu analizini apara bilən bir bulud tətbiqi yaratmaq üçün əvvəlcə pulsuz sınaq hesabına imza atmaq lazımdır (https://www.ibm.com/internet-of-things/trial/). İkinci addım, Watson IoT platforması üçün bir tətbiq yaratmaq və Arduino MKR1000 lövhənizi qeyd etməkdir; bu, Avadanlıq platformalarını IBM Watson IoT ilə birləşdirmək üçün standart bir prosedurdur və IBM sürətli başlanğıc təlimatlarında yaxşı sənədləşdirilmişdir:
console.ng.bluemix.net/docs/services/IoT/i…
IBM, IoT tətbiqinizi başlatmaq üçün lazım olan xidmətləri və işləmə müddətlərini məhdudlaşdıraraq bu addımları sürətləndirən IoT üçün qazan şablonları da təqdim edir. IoT for Electronics Starter Boilerplate bu layihə üçün istifadə olunan idi.
Addım -addım cihaz qeydiyyat təlimatı burada verilmişdir:
console.ng.bluemix.net/docs/services/IoT/i…
Arduino eskizini və NodeRED tətbiqini konfiqurasiya etmək üçün ehtiyac duyulduğundan, cihaz qeydiyyatı prosedurunu tamamladıqdan sonra, təşkilat id, etimadnaməniz, cihaz id və cihaz tipinizi qeyd edin.
Addım 3: Duyğu Analizi üçün Node-RED Tətbiqi hazırlayın
NodeRED, IBM Watson IoT platformasında qurğular və Bulud xidmətləri qurmaq üçün tətbiqlər yaratmaq üçün istifadə edilə bilən bir vizual vasitədir (nodered.org).
İnkişaf etdirilmiş NodeRED tətbiqi çox sadədir və biri e -poçtların duyğu analizi üçün, digəri Arduino MKR1000 (cihaz tərəfindən alınan duyğu balı və LED üçün RGB birləşməsi) statusu üçün iki axından ibarətdir.
Birinci axın vaxtaşırı bir e -poçt hesabına bağlanır və son oxunmamış e -məktubları alır; konfiqurasiya e -poçt hesabınızdan asılıdır. Alınan hər bir e -poçt, təhlil olunan mətnin mənfi/müsbət məzmununa əsaslanan bir bal (0 -dan az və ya yuxarı) qaytaran duyğu təhlili qutusuna göndərilir (məlumatlara baxın https://github.com/thisandagain/sentiment/blob/mas… daha ətraflı). Duyğu balı, son alınan məlumatların ortalamasını hesablayan və nəticəni növbəti qovluğa itələyən sadə bir funksiya qutusuna göndərilir. Nəhayət, son blok MQTT protokolundan istifadə edərək bağlı cihaza duyğu balının dəyərini ehtiva edən bir mesaj göndərir; bu blokun cihaz qeydiyyatı zamanı yaranan etimadnamələri ilə konfiqurasiya edilməlidir.
İkinci axın, Arduino lövhəsinin vəziyyətini görüntüləmək üçün test məqsədləri üçün istifadə olunur; məlumatların vizuallaşdırılması üçün Arduino lövhəniz üçün giriş IoT qovşağını IBM faststart veb səhifəsinə bağlayır (https://quickstart.internetofthings.ibmcloud.com/). Giriş IoT nodu MQTT protokollarından istifadə edərək Arduino Board -dan status mesajları almaq üçün yuxarıdakı kimi qurulmuşdur. Status mesajları hal -hazırda Arduinoda istifadə olunan LED üçün duyğu hesabını və RGB birləşməsini ehtiva edir.
Node-RED tətbiqi clipbord-a ixrac edildi və burada.txt faylı olaraq əlavə edildi.
Addım 4: Arduino Sketch
Arduino eskizi, IBM Watson IoT ilə əlaqə qurmaq üçün dəyişdirilmiş Gilberto Conti (https://github.com/256dpi/arduino-mqtt) tərəfindən MQTT müştəri kitabxanasına əsaslanır. Kod üç hissədən ibarətdir:
- setup (): WiFi AP və IBM MQTT brokerinə qoşulun; IBM Watson IoT -dan alınan mesajlar üçün geri çağırışı qeyd edin
- loop (): LED işıqlarını idarə etmək üçün RGB pinini təyin edin; cihazın vəziyyətini IBM Watson IoT -a göndərin (RGB və duyğu balı)
- messageReceived (…): Watson IoT tətbiqindən duyğu balı olan mesajların alınması ilə əlaqədar geri çağırma. Hesab RGB dəyərinə uyğunlaşdırılır (mənfi: qırmızı; müsbət: yaşıl).
Cihazın qeydiyyatı proseduru zamanı yaradılan məlumatlara əsaslanaraq kodu aşağıdakı kimi konfiqurasiya edin (org-id, device-type, device-id):
- MQTT_MODE = IBM_API_KEY
- char *client_id = "d: sizin-org-idiniz: cihazınızın növü: cihazınızın-id";
- char *user_id = "use-token-auth";
- char *pwd = "sənin-pwd";
- char *ibm_hostname = "sənin-org-id. messaging.internetofthings.ibmcloud.com";
Tətbiq iot-2/cmd/+/fmt/string və message mövzusuna abunədir Qəbul edilmiş geri zəng, komanda növü duyğuları üçün mesajları təhlil edir.
Vəziyyət mesajları mövzuya yayımlanır: iot-2/evt/status/fmt/json
Qeyd: MKR1000 üçün SSL sertifikatını yeniləməyi unutmayın; buradakı təlimatları izləyin: https://github.com/arduino-libraries/WiFi101-Firm… və kök sertifikatlarını MKR1000-də yükləmək və quraşdırmaq üçün ibm_hostname daxil edin.
Arduino eskizi əlavə olunur.
Addım 5: Kubokunuzu bağlayın
Kupaya elektronika və LED -lərin daha çox inteqrasiyasını etmək yaxşı olardı, amma bu layihə üçün sadəcə şəkildəki kimi kubokun ətrafına yapışqan LED şeridi bağladım.
Sonra LED şeridini çörək taxtası sxeminə bağlayıram, LED və Arduino MKR1000 -ə güc verirəm və NodeRED tətbiqindən duyğu hesablı mesajların alınmasını gözləyirəm. Məsələn, şəkildəki hesabıma "Əla iş! Layihəniz möhtəşəmdir!" və s.
İctimai IBM Quickstart veb səhifəsində (https://quickstart.internetofthings.ibmcloud.com) Arduino tətbiqinin vəziyyətini real vaxtda yoxlamaq da mümkündür (RGB kodu göstərilir və duyğu balı alınır); sadəcə cihaz id daxil edin..
İndi nəhayət qəhvəmi bağlı bir kubokda yeyə bilərəm.