Мазмуну:

Visual Notification Alert: 9 кадам
Visual Notification Alert: 9 кадам

Video: Visual Notification Alert: 9 кадам

Video: Visual Notification Alert: 9 кадам
Video: Где вас обманывают в сфере перманентного макияжа? | Павел Сомов и Ксения Логвиненко| Подкаст #pmu 2024, Июль
Anonim

Бул окуу куралы Phillips Hue'ге эскертүү үчүн кантип код жазууну үйрөтөт. Бул дүлөй жана угуусу начар, көрүү жөндөмү начар же сезүү мүмкүнчүлүгү чектелген адамдар үчүн абдан пайдалуу болмок. Visual Notification Alert-электрондук почта, Facebook, Trello же ушул сыяктуу билдирмелерди алгандан кийин колдонуучуларга маалымат берүү. Hue LED лампочкасы жарыкты жаркыратып эскерте баштайт.

Photon Particle-бул нерселердин Интернетин прототиптөө жана масштабдоо үчүн кичинекей, кайра программалана турган Wi-Fi өнүктүрүү комплект.

1 -кадам: Аппараттык жана программалык камсыздоонун тизмеси

Visual Notification Alert коддорун иштеп чыгуу үчүн сизге аппараттык жана программалык камсыздоо керек.

Аппараттык

  • Бөлүкчөлөрдү жасоочу комплект
  • Philips Hue - Баштоочу комплект (3 LED лампа жана 1 Hue Bridge)

Программалык камсыздоо

  • Photon Particle жөнүндө жалпы маалымат
  • Particle Web IDE (Build) *Кирүү үчүн талап кылынат *
  • IFTTT (Эгерде бул ошондо)

2 -кадам: Орнотуу

Сизде бөлүкчөлөрдү жасоочу комплект болушу керек, анын ичинде сенсорлор, секиргич зымдар, LED, резистор жана башкалар бар. Сиз Particle Photon жөнүндө көбүрөөк маалыматты окуй аласыз.

Фотонуңузду туташтыруудан мурун, Фотондогу LEDдин абалын билишиңиз керек. Бул жерде LED абалы жөнүндө маалымат.

Фотону туташтырыңыз

  1. USB кабелин кубат булагыңызга сайыңыз. (Сиздин компьютер бул максатта эң сонун иштейт). Сиздин бөлүкчө түзмөгүңүзгө wifiга туташуу үчүн компьютериңиздин кереги жок.
  2. Ал туташтырылганда, фотон түзмөгүңүздөгү RGB диоду көк түстө өчүп башташы керек. Эгерде түзмөгүңүз көк түстө өчпөсө, SETUP баскычын 10 секунд басып туруңуз, андан кийин SETUP баскычын коё бериңиз.
  3. Эгерде сизде мурунтан эле каттоо эсебиңиз болсо, Setup Particle'ге кириңиз. Эгерде сизде эсеп жок болсо, Photon үчүн каттоо эсебин түзүңүз.
  4. Photon/P сериясын басыңыз.
  5. Кийинкини баскандан кийин, сизге файл көрсөтүлүшү керек (photonsetup.html)
  6. Файлды жүктөө үчүн ЖЕРГИЛИКТҮҮ ФАЙЛ МЕНЕН УЛАНТУУ дегенди басыңыз.

Файлды ачкандан кийин

  1. PHOTON деп аталган тармакка туташуу менен компьютериңизди Photonго туташтырыңыз…
  2. Wi-Fi грамоталарын конфигурациялаңыз. Эскертүү: эгер сиз ишеним грамотаңызды туура эмес жазсаңыз, Photon кочкул көк же жашыл түстө өчүп калат. Сиз баракты жаңыртуу же кайра аракет кылуу бөлүгүн басуу аркылуу процесстен кайра өтүшүңүз керек.
  3. Түзмөгүңүздүн атын өзгөртүңүз. Түзмөккө доомат коюлганбы же жокпу, ырастоону көрөсүз.

Кийинки бөлүккө өтүүдөн мурун, эгер сиздин Photon түзмөгүңүздө дем алуучу циан бар болсо, анда ал Интернетке жана Photon Cloudго ийгиликтүү! Биз Particle IDE, Buildге өтүүдөбүз.

3 -кадам: Particle Web IDEде коддоо

Particle IDE, Build үчүн каттоо эсебиңизди түзүшүңүз керек. Эгер сизде мурунтан эле каттоо эсеби болсо, анда сонун! Particle IDEге кириңиз.

Биз тактада LED жаркылдап турганын текшерүү үчүн келет. Сиздин Photon тактаңызда кичинекей көк LED бар. Бул D7нин жанында. Сиз файлды жүктөп алып, getstarted-blinknet.ino жана ал жерден коддорду көрө аласыз. Түшүндүрмө бар. Particle Web IDEдеги баштапкы кодду ачуу үчүн бул шилтемени басыңыз. Эгерде D7 (кичинекей көк LED) жаркыраса, куттуктайбыз, сиз бөлүкчө түзмөгүңүздү колдонуп LEDди жарк эттиңиз! Эгерде сиз Photon жөнүндө көбүрөөк билгиңиз келсе, мисалы, ар кандай светодиоддордун жаркырашы, фото сенсорунун окулушу ж.б., бул жерде шилтеме бар.

Эми биз Philips Hue'го өтөбүз.

4 -кадам: Philips Hue

Image
Image
Philips Hue
Philips Hue
Philips Hue
Philips Hue

Маалымат үчүн: Phillips Hue API жөнүндө бул жерди басыңыз.

Philips Hue API документтерине кирүүдөн мурун, иштеп чыгуучу катары катталууңуз керек болот. Бул бекер, бирок шарттарды кабыл алышыңыз керек.

1. Биринчиден, Philips Hue Bridge (биринчи сүрөт) тармагыңызга туташып турганын текшериңиз. Ошол эле тармактагы жарыкты көзөмөлдөгөн Test Hue App (Hue App iOS жана Androidде жеткиликтүү).

Эгер сиз аны ийгиликтүү сынасаңыз, анда тармагыңыздагы көпүрөнүн IP дарегин табышыңыз керек. Www.meethue.com/api/nupnp дарегине кирип Philipsтин брокердик серверинин ачылышын колдонуңуз.

IP дарегиңизди тапканыңызда, аны браузериңиздин дарек тилкесине URL дарегине кошуу менен териңиз: https:// bridge IP Address/debug/clip.html. Сиз мындай интерфейсти (экинчи сүрөт) көрүшүңүз керек. Эскертүү: "Көпүрөнүн IP дарегин" IP дарегиңизге алмаштырыңыз.

2. Келгиле, жөнөкөй буйрукту аткарып, өң системаңыз жөнүндө маалымат алалы. Денени бош калтырып, GET баскычын басыңыз. Сиз ушул сыяктуу интерфейсти (үчүнчү сүрөт) көрүшүңүз керек. Сиз ката жөнүндө билдирүү алышыңыз керек. Эскертүү: "Көпүрөнүн IP дарегин" IP дарегиңизге алмаштырыңыз.

Дарек: https:// көпүрө IP дареги/api/newdeveloperBody: Методу: GETКуттуктайбыз! Сиз жөн гана биринчи буйругуңузду жөнөтөсүз! 3. Андан кийин, төмөнкү маалыматты толтуруңуз жана POST баскычын басыңыз. Эскертүү: "Көпүрөнүн IP дарегин" IP дарегиңизге жана "телефондун түрүн" өз телефонуңузга алмаштырыңыз.

Дарек: https:// көпүрөнүн IP дареги/apiBody: {"devicetype": "my_hue_app#фонетиптин аталышы"} Метод: POST

Шилтеме аны сиз үчүн түзүүгө жардам берет. POST баскычын басканыңызда, сиз Hue Bridgeдеги шилтеме баскычын басуу керек экенин билдирүүчү ката билдирүүсүн (төртүнчү сүрөт) кайтарып алышыңыз керек. Бул коопсуздук кадамы, ошондуктан сиз жарыгыңызды башкаргыңыз келген колдонмолор же серверлер гана. Реңк көпүрөсүндөгү шилтемени басуу менен, бул колдонуучунун түстүү көпүрөгө физикалык мүмкүнчүлүгү бар экенин далилдейт.

Сиз ийгиликтүү жооп алганда (бешинчи сүрөт), куттуктайбыз! Сиз жөн гана авторизацияланган колдонуучуну түздүңүз, биз мындан ары колдонобуз.

4. Фотон бөлүкчөсүнө интеграциялоонун алдында акыркы мисал, сиздин чырактарыңыздын бири көрүнүп жана күйүп турганын текшериңиз жана кайсы сан жарык экенин билишиңиз керек. URL'ди/api/username/lights/light number/state (жарыктын номерин өзгөртүү [1, 2, 3, же?] Болушу мүмкүн) деп өзгөртүп, төмөнкү маалыматтары бар PUT баскычын жөнөтүңүз:

Эскертүү: Көпүрөнүн IP дарегин, колдонуучунун атын жана жарык номерин өзгөрткөнүңүздү текшериңиз

Дарек: https:// көпүрөнүн IP дареги/api/колдонуучунун аты/жарыктар/жарыктын саны/мамлекет

Дене: {"күйүк": чын, "отурду": 254, "bri": 254, "өң": 10000}

Методу: PUTСиз жарыктын түсүн өзгөртүп жатканын көрүшүңүз керек:

5 -кадам: Баскыч жана зымдар менен Photon орнотуу

Баскыч жана зымдар менен Photon орнотуу
Баскыч жана зымдар менен Photon орнотуу
Баскыч жана зымдар менен Photon орнотуу
Баскыч жана зымдар менен Photon орнотуу

Биз Photon Web IDEге көбүрөөк коддорду иштеп чыгуудан мурун, биз Photonну бир баскыч жана зымдар менен орнотууну каалайбыз. Сиздин бөлүкчөлөрүңүздүн баштапкы комплектинен бир нече баскычтар жана көптөгөн зымдар бар. чыныгы сүрөт.

  1. Фотонуңузду нан тактасына коюңуз.
  2. Сүрөттө көрсөтүлгөндөй, нан баскычынын астына баскычты коюңуз.
  3. Кара зымдын учун J4ке (GND) коюп, ошол эле кара зымдын дагы бир учун J30га салыңыз.
  4. Сары зымдын учун J7ге (D5) коюп, ошол эле сары зымдын дагы бир учун J28ге салыңыз.

Эгерде алар менин сүрөтүмө дал келсе, мен сага көрсөтөм, анда сен жакшысың!

6 -кадам: Фотон бөлүкчөсүнө коддорду жазуу

Фотон бөлүкчөсүндө коддорду жазуу
Фотон бөлүкчөсүндө коддорду жазуу

Биз биринчи колдонмону Photon Particle - Web IDEде түзөбүз.

  1. Https://build.particle.io/build дарегине өтүңүз жана кириңиз (эгер сиз азырынча түзө элек болсоңуз, катталыңыз)
  2. Учурдагы колдонмонун астына "Visual Notification Alert" териңиз.
  3. Enter баскычын басыңыз (биринчи сүрөттү караңыз).

Колдонмо Photon Particle Cloudда сакталат. Setup () функциясы колдонмо башталып, бир жолу иштей баштаганда чакырылат. Loop () функциясы так эмне кылат жана ырааттуу түрдө айланат, бул сиздин колдонмоңуздун өзгөрүшүнө жана жооп беришине мүмкүндүк берет.

Photon бөлүкчөсү үчүн HttpClient кошуу үчүн:

  1. Web IDEнин ылдыйкы сол жагындагы Китепканаларды чыкылдатыңыз.
  2. Издөө тилкесине "HttpClient" териңиз.
  3. Көк баскычтагы "Долбоорго кошууну" чыкылдатыңыз.
  4. VisualNotificationAlert чыкылдатыңыз (ал колдонмону түзгөндөн кийин боштуктарды алып салат).
  5. Ырастоо дегенди басыңыз.

Эми, ал Web IDEнин башына HttpClient кошту.

/ Бул #include билдирүүсү Particle IDE тарабынан автоматтык түрдө кошулган. #Камтыйт

/*** Philip Hue үчүн конфигурация ***

/ 1. Муну 1 -кадамдагы API колдонуучу атыңыз менен алмаштырыңыз const String API_USERNAME = "Сиздин API колдонуучу атыңыз"; // 2. Муну IPAddress 1 -кадамдан көпүрөңүздүн IP дареги менен алмаштырыңыз hueIP (x, x, x, x); // 3. Башкаргыңыз келген чырактардын жолу менен алмаштырыңыз. Иштеп жатканын текшерүү үчүн 1 -кадамдагы веб -баракчаны колдонуңуз. // Philip Hue жарыгынын номерин тааныганыңызды текшериңиз ///lights/NUMBER/state const String LIGHT_PATH = "/lights/Number/state"; // 4. Муну жарыкты күйгүзүү өтүнүчүңүздүн денеси менен алмаштырыңыз. const String REQUEST_BODY_ON = "{" on / ": true, \" bri / ": 254}"; // 5. Муну жарыкты өчүрүү өтүнүчүңүздүн денеси менен алмаштырыңыз. const String REQUEST_BODY_OFF = "{" on / ": false, \" bri / ": 254}"; / *** END конфигурациясы Philip Hue *** / Button const int BUTTON_PIN = D5; // HttpClient объекти Hue көпүрөсүнө HTTP сурамдарын жасоо үчүн колдонулат HttpClient http; // HTTP сурамдары үчүн демейки баштык http_header_t headers = {{"Кабыл ал", "*/*"}, {NULL, NULL} // ЭСКЕРТҮҮ: Ар дайым аталыштар NULL} менен токтотулат; // Сурам жана жооп объекттери http_request_t суроо; http_response_t жооп; void setup () {Serial.begin (9600); request.ip = hueIP; request.port = 80; // Борттогу LED сезилген таптоо pinMode (D7, OUTPUT) үчүн индикатор жарыгы катары; // Киргизүү үчүн, биз BUTTON_UPты киргизүү-тартуу деп аныктайбыз. Бул түзмөктөн ырааттуу окууларды башкаруу үчүн ички тартма каршылыгын // колдонот. pinMode (BUTTON_PIN, INPUT_PULLUP); // пин катары кирүүнү белгилейт // Биз IFTTT иш -чарасына "Жазылабыз" деп аталат, ошондуктан биз ал үчүн окуяларды алабыз Particle.subscribe ("RIT_Gmail", myHandler); Particle.subscribe ("Trello", myHandler); } // setup () function void loop () { / * * Бул жарыктын эскертмелерин текшерүү бөлүмү * / // баскыч басылганын же жоктугун андан окуу аркылуу билүүгө болот. int buttonState = digitalRead (BUTTON_PIN); // Баскыч басылганда, LOW сигналын алабыз. // Кнопка басылбаса, биз БИЙИКТИ алабыз. if (buttonState == LOW) gmailAlert (); } // loop () function void printInfo () {Serial.print ("Application> / tResponse status:"); Serial.println (жооп.статус); Serial.print ("Application> / tHTTP Response Body:"); Serial.println (жооп.тел); } // printInfo () функциясы int i = 0; // IFTTT окуясын иштетүүчү функция myHandler жараксыз (const char *event, const char *data) {// Serial.print (event) сериясында басып чыгаруу үчүн тест; Serial.print (", маалыматтар:"); if (data) Serial.println (data); else Serial.println ("NULL"); if (strcmp (event, "Trello") == 0) {trelloAlert (); } else if (strcmp (event, "Gmail") == 0) {gmailAlert (); }} // myHandler () function /** Жарыкты коюу үчүн реңк мааниси. * Реңк мааниси 0 менен 65535тин ортосундагы ороо мааниси. * 0 жана 65535 экөө тең кызыл, * 25500 жашыл жана 46920 көк. * / / *** Бул көк түстү колдонуп Philips Hue Smart Bulb колдонуп эскертет. Ал 15 секундга эскертүү берет. */ void trelloAlert () {String trello_body_alert = "{" on / ": true, \" bri / ": 255, \" sat / ": 255, \" hue / ": 46920, \" alert / ": / "lselect \"} "; sendHttpPut (trello_body_alert); } /*** Бул Philips Hue акылдуу лампочкасын колдонуп, кызыл түс менен эскертет. Ал 15 секундга эскертүү берет. */ void gmailAlert () {String gmail_body_alert = "{" on / ": true, \" sat / ": 254, \" bri / ": 254, \" hue / ": 65535, \" alert / ": / "lselect \"} "; sendHttpPut (gmail_body_alert); }/** * Биз PUTту Philips Hue * @param httpPutBody саптын корпусуна жөнөтөбүз */void sendHttpPut (String httpPutBody) {request.path = "/api/" + API_USERNAME + LIGHT_PATH; request.body = httpPutBody; http.put (суроо, жооп, аталыштар); }

Сиз жазууну же кодду Photon Particle Web IDEге көчүрүүнү бүтүргөнүңүздө, тилкенин жогорку сол жагындагы текшерүү сөлөкөтүн (Текшерүү) басыңыз.

7 -кадам: Фотонго кодду жүктөө

Бул кадам абдан жөнөкөй. Биз Photonго коддорду жүктөөдөн мурун:

  1. USB кабелин кубат булагыңызга сайыңыз (ноутбукту сунуштайм).
  2. Сиздин фотонузда дем алуучу көк жарык диод бар экенин тактаңыз. Эгерде ал көк түстө болбосо же башка түстө болсо, 2 -кадамга өтүңүз: Орнотуу
  3. Photon Particle Web IDEден Lighting сөлөкөтүн чыкылдатыңыз.
  4. Ал Photonго коддорду жүктөгөндө, кызгылт көк түстү көрүшүңүз керек. Бул код кодго жүктөлө баштайт дегенди билдирет. Андан кийин, ал тез эле жашыл түстө жаркырайт, анан кайра көк түскө кайтат.
  5. Philips акылдуу лампочкаңыздын жаркырап турганын (же эскертүүлөрдү) көрүү үчүн баскычты басыңыз.

Эгерде Philips Smart Bulb эскертет, анда куттуктайм! Биз дээрлик бүттүк!

Биз программалык камсыздоо бөлүгүнө өтөбүз.

8 -кадам: IFTTTден апплеттерди түзүү (эгер бул, анда)

Биз апплеттерди IFTTT (If This, then That) веб -сайтынан түзөбүз. Апплеттер Фотонго иш -чара жарыялашат, андан кийин Photon акылдуу лампаларды эскертүү үчүн Philips Hue Bridgeге буйрук жөнөтөт.

Бул долбоор үчүн биз Trello жана Gmailди Photonго окуяларды жарыялоо үчүн колдонобуз.

Https://ifttt.com/ дарегине өтүңүз жана катталыңыз.

Trello

  1. Жогорку жагындагы Менин Апплеттеримди басыңыз.
  2. Жаңы Апплетти басыңыз.
  3. Муну көк текстте + басыңыз.
  4. Издөө тилкесине Trello терип, чыкылдатыңыз.
  5. Мага дайындалган картты басыңыз.
  6. Треллодон тактаңызды тандаңыз.
  7. Көк текстте +дегенди басыңыз.
  8. Издөө тилкесине Particle терип, чыкылдатыңыз.
  9. Окуяны жарыялоону чыкылдатыңыз.
  10. "Трелло" деп териңиз Анан жарыялаңыз (Окуянын аты).
  11. Жалпыга ачык.

Gmail (Эскертүү: алар сиз катталганда сиздин электрондук почтаңызды колдонот)

  1. Жогорку жагындагы Менин Апплеттеримди басыңыз.
  2. Жаңы Апплетти басыңыз.
  3. Муну көк текстте + басыңыз.
  4. Издөө тилкесине Gmail терип, чыкылдатыңыз
  5. Кирүү кутусуна каалаган жаңы электрондук почтаны тандаңыз
  6. Көк текстте +дегенди басыңыз.
  7. Издөө тилкесине Particle терип, чыкылдатыңыз
  8. Окуяны жарыялоону чыкылдатыңыз.
  9. Андан кийин жарыялоого "Gmail" териңиз (Окуянын аты).
  10. Жалпыга ачык.

Сизде эки апплет болгондон кийин, Trello жана Gmail иштеп, биз акыркы кадамга өтүүдөбүз.

9 -кадам: Акыры, тестирлөө

Биз Апплеттерден Фотонго чейинки окуяларды жарыялоону текшеребиз. Апплеттериңиз күйүп турганын текшериңиз.

Trello

Кимдир бирөө Trelloдо жаңы картаны түзгөндө, алар сизди картага (тег) коюшат. IFTTT муну угат жана Photonго иш -чара жарыялай баштайт. Андан кийин Photon Philip Hue Bridgeге акылдуу лампаларды эскертүү үчүн буйрук жөнөтөт.

Gmail

Кирүү кутуңузга жаңы электрондук кат келгенде, IFTTT муну угат жана Photonго иш -чара жарыялай баштайт. Андан кийин Photon Philip Hue Bridgeге акылдуу лампаларды эскертүү үчүн буйрук жөнөтөт.

Чакырыктар

  • Биз Trello жана Gmailден жаңы билдирүү алган сайын, IFTTTден иш -чара жөнөтүү жана Photonдон буйрук жөнөтүү үчүн чоң кечигүү болот. Акылдуу лампаларды эскертүү үчүн 5 мүнөттөн аз убакыт кетиши керек.
  • Gmail Applet кээде өзү өчүп калат, анткени апплет кайра туташып же жаңыртылышы керек.

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