Туташкан кружка: 5 кадам (Сүрөттөр менен)
Туташкан кружка: 5 кадам (Сүрөттөр менен)
Anonim
Туташкан кружка
Туташкан кружка

Кээде эртең менен офиске барардан мурун кофемди ичип жатып, электрондук почтамдын кутусунда менден эмнени күтүп жатканын көргүм келет. башкача айтканда, алынган электрондук каттардын саны жана обону ….with мен мурун эле күнү бүтүргөн долбоор иштейт же иштебейт жана бул жөнүндө оң же терс пикирлер болсо. Башка жагынан алганда, электрондук почта кардарынын тиркемесин уюлдук телефонум менен ачып, эртең мененки тамак учурунда электрондук каттарды окуп баштоого каршы эмесмин.

Бул ойлордон бул долбоордун идеясы чыгат; бул менин электрондук почта эсебиме алынган акыркы окулбаган электрондук каттардагы анализдин натыйжасында түсүн өзгөрткөн LED чырактары менен жакшыртылган кофе кружкасын колдонот. Жөн эле кружканы сайыңыз жана LED чырактары жашыл түскө айланат, эгерде акыркы кабыл алынган электрондук каттарда оң кабарлар болсо, тескерисинче кызыл түс.

Окула элек электрондук каттардын сезимин талдоо IBM Watson IoT кызматтары тарабынан жүргүзүлөт. Arduino MKR1000 тактасы LED тилкесин көзөмөлдөө жана MQTT протоколу аркылуу WiFi аркылуу IBM Watson IoT кызматтары менен байланышуу үчүн колдонулат.

1 -кадам: Аппараттык компоненттер

Аппараттык компоненттер
Аппараттык компоненттер
Аппараттык компоненттер
Аппараттык компоненттер

Аппараттык өнүктүрүү тактасы:

Arduino MKR1000

Аппараттык BOM

  • 3x 100 Ом резисторлору
  • 3x TIP122 NPN транзисторлору
  • 1x электр уячасы
  • 1x RGB LED Light Strip (AglaiaLT-S2)
  • Запастык кабелдер

LED тилкесин Arduino MKR1000 менен башкаруунун зымдары бул үйрөткүчкө негизделген:

2 -кадам: IBM Watson IoTде каттоо эсебин түзүңүз жана түзмөгүңүздү каттаңыз

IBM Watson IoT менен окулбаган электрондук каттардын анализин жүргүзө ала турган булут колдонмосун түзүү үчүн, адегенде акысыз сыноо эсебине кол коюу керек (https://www.ibm.com/internet-of-things/trial/). Экинчи кадам - Watson IoT платформасына тиркеме түзүү жана Arduino MKR1000 тактаңызды каттоо; Бул азыр IBM Watson IoT менен Аппараттык платформаларды туташтыруунун стандарттык процедурасы жана ал IBMдин тез баштоочу колдонмолорунда жакшы документтештирилген:

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

IBM ошондой эле IoT тиркемесин ишке киргизүү үчүн керектүү кызматтарды жана иштөө убактысын чектөө менен бул кадамдарды тездетүүчү IoT үчүн казан плиталарын берет. Бул долбоор үчүн Electronics Starter Boilerplate үчүн IoT колдонулган.

Түзмөктү каттоо боюнча этап -этабы менен бул жерде берилет:

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

Орг-id, эсептик маалымат, түзмөк идентификатору жана түзмөк түрүнө көңүл буруңуз, түзмөктү каттоо процедурасын аяктагандан кийин, бул Arduino эскизин жана NodeRED тиркемесин конфигурациялоо үчүн керек болот.

3-кадам: Сезимди анализдөө үчүн Node-RED тиркемесин иштеп чыгуу

Сезим анализи үчүн Node-RED тиркемесин иштеп чыгуу
Сезим анализи үчүн Node-RED тиркемесин иштеп чыгуу

NodeRED - бул IBM Watson IoT платформасында тиркемелерди жана булут кызматтарын туташтыруу үчүн колдонула турган визуалдык курал (nodered.org).

Иштелип чыккан NodeRED тиркемеси абдан жөнөкөй жана эки агымдан турат, бири электрондук почталарды сезүү анализи үчүн, экинчиси Arduino MKR1000 статусун каттоо үчүн (сезимталдык көрсөткүчү түзмөк алган жана LED үчүн RGB айкалышы).

Биринчи агым мезгил -мезгили менен электрондук почта эсебине туташып, акыркы окула элек каттарды алып келет; конфигурация сиздин электрондук почтаңыздын эсебинен көз каранды. Алынган ар бир электрондук почта анализделген тексттин терс/позитивдүү мазмунунун негизинде баллды (0дөн жогору же жогору) кайтарган сезимталдык талдоо кутусуна жөнөтүлөт (https://github.com/thisandagain/sentiment/blob/mas… үчүн маалыматты караңыз) көбүрөөк маалымат). Сезим упайы акыркы алынган маалыматтын орточо суммасын эсептеген жана натыйжаны кийинки түйүнгө түрткөн жөнөкөй функция кутусуна жөнөтүлөт. Акырында акыркы блок MQTT протоколун колдонуу менен туташкан түзмөккө сезимдин баллынын маанисин камтыган билдирүү жөнөтөт; Бул блок түзмөктү каттоо процессинде түзүлгөн ишеним грамоталары менен конфигурацияланышы керек.

Экинчи агым Arduino тактасынын абалын элестетүү үчүн тестирлөө максатында колдонулат; ал Arduino тактаңыздын IoT кирүү түйүнүн маалыматтарды визуалдаштыруу үчүн IBM Quickstart веб баракчасына байланыштырат (https://quickstart.internetofthings.ibmcloud.com/). Кирүү IoT түйүнү MQTT протоколдорун колдонуу менен Arduino Boardтун статус билдирүүлөрүн алуу үчүн жогорудагыдай конфигурацияланган. Статус билдирүүлөрү учурда Arduinoдо колдонулган LEDдин сезүү упайын жана RGB айкалышын камтыйт.

Node-RED тиркемеси clipbordко экспорттолгон жана бул жерде.txt файлы катары тиркелген.

4 -кадам: Arduino Sketch

Arduino эскизи IBM Watson IoT менен туташуу үчүн өзгөртүлгөн Gilberto Conti (https://github.com/256dpi/arduino-mqtt) тарабынан MQTT кардар китепканасына негизделген. Код үч бөлүктөн турат:

  • setup (): WiFi AP жана IBM MQTT брокери менен туташуу; IBM Watson IoTден алынган билдирүүлөр үчүн кайра чалууну каттаңыз
  • loop (): LED жарыгын башкаруу үчүн RGB пин орнотуу; IBM Watson IoTге түзмөктүн статусун жөнөтүү (RGB жана сезимдин эсеби)
  • messageReceived (…): Watson IoT тиркемесинен мааниси бар билдирүүлөрдү кабыл алууга чакыруу. Эсеп RGB маанисине (терс: кызыл; оң: жашыл) картага түшүрүлгөн.

Түзмөктү каттоо жол-жобосунда (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 = "your-pwd";
  • char *ibm_hostname = "your-org-id.messaging.internetofthings.ibmcloud.com";

Колдонмо iot-2/cmd/+/fmt/string темасына жазылат жана messageReceived callback буюртма түрү үчүн билдирүүлөрдү талдайт.

Статус билдирүүлөрү темага жарыяланат: iot-2/evt/status/fmt/json

Эскертүү: MKR1000 үчүн SSL сертификатын жаңыртууну унутпаңыз; бул жердеги көрсөтмөлөрдү аткарыңыз: https://github.com/arduino-libraries/WiFi101-Firm… жана MKR1000ге тамыр сертификаттарын жүктөө жана орнотуу үчүн ibm_hostname киргизиңиз.

Arduino эскизи тиркелди.

5 -кадам: Кубокту туташтырыңыз

Чөйчөгүңүздү туташтырыңыз
Чөйчөгүңүздү туташтырыңыз
Чөйчөгүңүздү туташтырыңыз
Чөйчөгүңүздү туташтырыңыз

Кружкага электроника менен светодиоддордун дагы интеграциясын жасоо жакшы болмок, бирок бул долбоор үчүн мен сүрөттө көрсөтүлгөндөй кружканын айланасына жабыштыруучу LED тилкесин бекитип койгом.

Андан кийин мен LED тилкесин нан тактасына туташтырам, LEDди жана Arduino MKR1000ди күйгүзөм жана NodeRED тиркемесинен мааниси бар билдирүүлөрдү алууну күтөм. Мисалы, мен сүрөттө "Супер чыгарма! Сенин долбооруң сонун!" жана башкалар.

Ошондой эле коомдук IBM Quickstart веб -баракчасынан (https://quickstart.internetofthings.ibmcloud.com) Arduino тиркемесинин реалдуу убакыттагы абалын текшерүүгө болот (RGB коду көрсөтүлүп жана сезимдин эсеби алынган); жөн гана керек түзмөктүн идентификаторун киргизиңиз..

Эми мен акыры кофемди туташкан кружкада ырахаттана алам.

Сунушталууда: