Mundarija:

Bog'langan krujka: 5 qadam (rasmlar bilan)
Bog'langan krujka: 5 qadam (rasmlar bilan)

Video: Bog'langan krujka: 5 qadam (rasmlar bilan)

Video: Bog'langan krujka: 5 qadam (rasmlar bilan)
Video: buka buka raqisi yoqqan bõlsa bitta layk 2024, Iyul
Anonim
Ulangan krujka
Ulangan krujka

Ba'zan ertalab ofisga borishdan oldin qahva ichar ekanman, elektron pochta qutisida meni nima kutayotganini ko'rishni istardim. ya'ni qabul qilingan elektron pochta xabarlarining soni va ohanglari ….. men bir kun oldin tugatgan loyiha ishlamayapti yoki ishlamayapti va bu haqda ijobiy yoki salbiy izohlar bo'lsa. Boshqa tomondan, men elektron pochta mijozi ilovasini mobil telefonim bilan ochib, nonushta paytida elektron pochta xabarlarini o'qishni boshlayman.

Bu mulohazalardan ushbu loyihaning g'oyasi kelib chiqadi; u mening elektron pochtamga kelgan oxirgi o'qilmagan elektron pochtalarda o'tkazilgan his -tuyg'ular tahlili natijalariga ko'ra ranglarini o'zgartiradigan LED chiroqlar bilan to'ldirilgan qahva krujkasidan foydalanadi. Faqat krujkani ulang va LED chiroqlari yashil rangga aylanadi, agar oxirgi qabul qilingan elektron pochta xabarlarida ijobiy xabar bo'lsa, aksincha qizil rangda.

O'qilmagan elektron pochta xabarlarining his -tuyg'ularini tahlil qilish IBM Watson IoT xizmatlari tomonidan amalga oshiriladi. LED chizig'ini boshqarish va MQTT protokoli yordamida WiFi orqali IBM Watson IoT xizmatlariga ulanish uchun Arduino MKR1000 taxtasi ishlatiladi.

1 -qadam: Uskuna komponentlari

Uskuna komponentlari
Uskuna komponentlari
Uskuna komponentlari
Uskuna komponentlari

Uskuna ishlab chiqish paneli:

Arduino MKR 1000

Uskuna BOM

  • 3x 100 ohmli rezistorlar
  • 3x TIP122 NPN tranzistorlari
  • 1x quvvat rozetkasi
  • 1x RGB LED yorug'lik chizig'i (AglaiaLT-S2)
  • Zaxira kabellar

LED chizig'ini Arduino MKR1000 bilan boshqarish simlari ushbu qo'llanmaga asoslangan:

2 -qadam: IBM Watson IoT -da hisob qaydnomasini yarating va qurilmangizni ro'yxatdan o'tkazing

IBM Watson IoT bilan o'qilmagan elektron pochta xabarlarining his-tuyg'ularini tahlil qila oladigan bulutli dastur yaratish uchun avvalo bepul sinov hisobiga imzo chekish kerak (https://www.ibm.com/internet-of-things/trial/). Ikkinchi qadam - Watson IoT platformasi uchun dastur yaratish va Arduino MKR1000 kartasini ro'yxatdan o'tkazish; Endi bu uskuna platformalarini IBM Watson IoT -ga ulashning standart protsedurasi bo'lib, u IBM tez ishga tushirish qo'llanmalarida yaxshi hujjatlashtirilgan:

console.ng.bluemix.net/docs/services/IoT/i…

IBM, shuningdek, IoT dasturini ishga tushirish uchun zarur bo'lgan xizmatlar va ish vaqtlarini cheklab, bu bosqichlarni tezlashtiradigan IoT uchun qozonli shablonlarni taqdim etadi. IoT Electronics Starter Boilerplate uchun ushbu loyiha uchun ishlatilgan.

Bosqichma -bosqich qurilmalarni ro'yxatga olish bo'yicha qo'llanma bu erda keltirilgan:

console.ng.bluemix.net/docs/services/IoT/i…

Qurilmani ro'yxatdan o'tkazish tartibini bajarganingizdan so'ng, tashkilotingiz identifikatori, hisobga olish ma'lumoti, qurilma identifikatori va qurilma turiga e'tibor bering, chunki bu Arduino eskizini va NodeRED ilovasini sozlash uchun kerak bo'ladi.

3-qadam: His-tuyg'ularni tahlil qilish uchun tugunli-RED ilovasini ishlab chiqish

Hissiy tahlil uchun tugunli-RED ilovasini ishlab chiqish
Hissiy tahlil uchun tugunli-RED ilovasini ishlab chiqish

NodeRED - bu IBM Watson IoT platformasida simli qurilmalar va bulutli xizmatlarni ulash uchun dasturlardan foydalanish mumkin bo'lgan vizual vosita (nodered.org).

Ishlab chiqilgan NodeRED dasturi juda sodda va ikkita oqimdan iborat bo'lib, ulardan biri elektron pochta xabarlarini his -tuyg'ularini tahlil qilish uchun, ikkinchisi Arduino MKR1000 holatini qayd etish uchun (qurilma tomonidan olingan hissiyot ballari va LED uchun RGB kombinatsiyasi).

Birinchi oqim vaqti -vaqti bilan elektron pochta hisob qaydnomasiga ulanadi va oxirgi o'qilmagan xatlarni oladi; Konfiguratsiya sizning elektron pochtangizga bog'liq. Qabul qilingan har bir elektron pochta xabari hissiyotlarni tahlil qilish qutisiga yuboriladi, u tahlil qilingan matnning salbiy/ijobiy tarkibiga asoslangan balni (0 dan past yoki undan yuqori) qaytaradi (qarang: https://github.com/thisandagain/sentiment/blob/mas… batafsil ma'lumot). His -tuyg'ular ballari oddiy qabul qilingan ma'lumot qutisiga yuboriladi, u oxirgi olingan ma'lumotlarning o'rtacha qiymatini hisoblab chiqadi va natijani keyingi tugunga o'tkazadi. Oxirgi blok MQTT protokoli yordamida ulangan qurilmaga hissiyot ballari qiymatini o'z ichiga olgan xabar yuboradi; bu blok qurilmani ro'yxatga olish jarayonida yaratilgan hisobga olish ma'lumotlari bilan konfiguratsiya qilinishi kerak.

Ikkinchi oqim Arduino kartasining holatini vizualizatsiya qilish uchun sinov maqsadida ishlatiladi; Bu sizning Arduino platangiz uchun kirish IoT tugunini ma'lumotlarni vizualizatsiya qilish uchun IBM tezkor boshlovchi veb -sahifasiga ulaydi (https://quickstart.internetofthings.ibmcloud.com/). Kirish IoT tuguni MQTT protokollari yordamida Arduino Board -dan holat xabarlarini qabul qilish uchun yuqoridagi kabi tuzilgan. Vaziyat xabarlari hozirda Arduino -da ishlatiladigan LED uchun hissiyot ballari va RGB kombinatsiyasini o'z ichiga oladi.

Node-RED ilovasi clipbord-ga eksport qilindi va bu erda.txt fayli sifatida biriktirildi.

4 -qadam: Arduino eskiz

Arduino eskizi Gilberto Conti (https://github.com/256dpi/arduino-mqtt) MQTT mijozlar kutubxonasiga asoslangan bo'lib, IBM Watson IoT bilan bog'lanish uchun o'zgartirilgan. Kod uch qismdan iborat:

  • setup (): WiFi AP va IBM MQTT brokeriga ulanish; IBM Watson IoT -dan olingan xabarlar uchun qayta qo'ng'iroqni ro'yxatdan o'tkazing
  • loop (): LED chiroqlarini boshqarish uchun RGB pinini o'rnating; IBM Watson IoT -ga qurilma holatini yuborish (RGB va hissiyot ballari)
  • messageReceived (…): Watson IoT ilovasidan hissiyot balli xabarlarni qabul qilishda qayta qo'ng'iroq qilish. Ballar RGB qiymatiga mos keladi (salbiy: qizil; ijobiy: yashil).

Qurilmani ro'yxatga olish jarayonida yaratilgan ma'lumotlarga asoslanib, kodni quyidagicha sozlang (org-id, device-type, device-id):

  • MQTT_MODE = IBM_API_KEY
  • char *client_id = "d: your-org-id: your-device-type: your-device-id";
  • char *user_id = "use-token-auth";
  • char *pwd = "sizning-pwd";
  • char *ibm_hostname = "your-org-id.messaging.internetofthings.ibmcloud.com";

Ilova iot-2/cmd/+/fmt/string va message-ga obuna bo'ladi Qabul qilingan qayta qo'ng'iroqlar buyruq turidagi his-tuyg'ular uchun xabarlarni tahlil qiladi.

Holat xabarlari mavzuga e'lon qilinadi: iot-2/evt/status/fmt/json

Eslatma: MKR1000 uchun SSL sertifikatini yangilashni unutmang; ko'rsatmalarga amal qiling: https://github.com/arduino-libraries/WiFi101-Firm… va ildiz sertifikatlarini MKR1000-ga yuklab olish va o'rnatish uchun ibm_hostname-ni kiriting.

Arduino eskizi biriktirilgan.

5 -qadam: Kubokni ulang

Krujkangizni ulang
Krujkangizni ulang
Krujkangizni ulang
Krujkangizni ulang

Krujkada elektronika va LEDlarni biroz ko'proq integratsiyalashgan bo'lar edim, lekin bu loyiha uchun men rasmda ko'rsatilgandek krujka atrofiga yopishqoq LED tasmasini yopishtirdim.

Keyin men LED chizig'ini non paneliga ulayman, LEDni va Arduino MKR1000 ni quvvatlantiraman va NodeRED ilovasidan hissiyot balli xabarlarni kutaman. Masalan, rasmda men o'z hisobimga "Ajoyib ish! Sizning loyihangiz ajoyib!" va boshqalar.

IBM Quickstart veb -sahifasida (https://quickstart.internetofthings.ibmcloud.com) ommaviy Arduino ilovasining holatini tekshirish mumkin (RGB kodi ko'rsatiladi va hissiyot ballari olinadi); qurilma identifikatorini kiriting..

Endi men nihoyat ulangan krujkada qahvamdan bahramand bo'lishim mumkin.

Tavsiya: