![Надеждно, сигурно, персонализирано SMS дистанционно управление (Arduino/pfodApp) - Не се изисква кодиране: 4 стъпки Надеждно, сигурно, персонализирано SMS дистанционно управление (Arduino/pfodApp) - Не се изисква кодиране: 4 стъпки](https://i.howwhatproduce.com/images/010/image-28896-j.webp)
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 13:00
![Надеждно, сигурно, персонализирано SMS дистанционно управление (Arduino/pfodApp) - Не се изисква кодиране Надеждно, сигурно, персонализирано SMS дистанционно управление (Arduino/pfodApp) - Не се изисква кодиране](https://i.howwhatproduce.com/images/010/image-28896-1-j.webp)
Актуализация на 6 юли 2018 г.: 3G/2G версия на този проект, използваща SIM5320, е достъпна тук
Актуализация: 19 май 2015 г.: Използвайте библиотеката на pfodParser версия 2.5 или по -нова. Той коригира докладван проблем, че не позволява достатъчно време на щита да се свърже с мрежата след включване
Въведение
С какво дистанционното управление на pfodSMS се различава от другите реализации:-
- Той е надежден-на команди винаги се отговаря и изгубените съобщения се изискват отново
- Той е Secure - използва 128 -битова защита с парола
- Не изисква никакви акаунти за уеб услуги на трети страни - има нужда само от активна SIM карта (без щифт)
- Той може да се персонализира - можете да използвате pfodDesigner, за да създадете свое собствено меню
- Лесно е - pfodDesigner генерира целия код. Не е необходимо да правите кодиране.
- Той е гъвкав-всички екрани на pfod са достъпни чрез SMS, като подменюта, списък с многократни и единични селекции, въвеждане на текст, регистриране на данни и начертаване.
Вижте дизайна на съобщенията на pfodSMS за това как SMS връзката е надеждна. Вижте Предизвикателство и защита на отговорите за свързани с интернет pfodDevices за подробности относно 128 -битовата защита. Вижте опростените менюта на pfodDesigner, Android / Arduino за подробности относно проектирането на вашето собствено персонализирано меню. Вижте pfodSpecification.pdf за подробности за всички pfod съобщения и екрани, които можете да добавите сами.
Примерен проект - SMS контрол на горещата вода
Като пример за проект тази инструкция описва как да включите и изключите бойлера си за гореща вода чрез SMS и да проверите дали е включен или изключен. За да го инсталирате, ще ви е необходим електротехник.
Стъпка 1: Бърз старт - SMS дистанционно управление
![Бърз старт - SMS дистанционно управление Бърз старт - SMS дистанционно управление](https://i.howwhatproduce.com/images/010/image-28896-2-j.webp)
![Бърз старт - SMS дистанционно управление Бърз старт - SMS дистанционно управление](https://i.howwhatproduce.com/images/010/image-28896-3-j.webp)
Ето кратко ръководство за изграждане на собствен SMS контрол на топла вода.
- Купете частите от този списък..
- Инсталирайте Arduino IDE версия 1.5.8 и изтеглете и инсталирайте библиотеката pfodParser..
- Изтеглете безплатния pfodDesigner.
- Проектирайте персонализираното си меню, за да включвате и изключвате цифров вход от плъзгача на менюто на вашия мобилен телефон с Android.
- Генерирайте кода, като изберете SeeedStudio SIM900 GPRS щит като връзка. (Има и опция за щита IteadStudio SIM900).
- Прехвърлете генерирания код от мобилния си телефон към IDE (вижте pfodAppForAndroidGettingStarted.pdf за подробности), добавете вашата тайна парола, компилирайте и изтеглете в Arduino Mega 2560.
- Поставете вашата SIM карта в GPRS щита и включете щита в Mega 2560. Уверете се, че серийните връзки са настроени на Hardware Serial, както е показано по -горе.
- Свържете цифровия изход към твърдо или нормално реле между D3 и GND (или който и да е извод, който сте избрали в pfodDesigner). Вижте Как да добавите релета към Arduino за повече подробности относно релетата.
- Приложете USB захранване към Mega. Кодът на библиотеката захранва GPRS щита вместо вас.
- Инсталирайте pfodApp на мобилния си телефон с Android и настройте SMS връзка към sim телефона на щита. (вижте pfodAppForAndroidGettingStarted.pdf за подробности). Задайте паролата за връзката, ако сте я добавили..
- Свържете се и вижте вашето персонализирано меню, показвано чрез SMS. Щракнете върху бутона, за да включите или изключите релето.
- Накарайте вашия електротехник да инсталира релето във вашия кръг за гореща вода и да свърже USB захранването, за да захрани Mega и щита
Стъпка 2: Повече подробности
pfodDesigner
PfodDesigner ще генерира целия код, от който се нуждаете, за да включите и изключите твърдотелното или друго реле, но SMS връзката в библиотеката pfodParser поддържа всички екрани на pfod, така че след като започнете, можете да добавяте подменюта, цифрови плъзгачи, мултитекстови плъзгачи, екрани за въвеждане на текст, регистриране на данни и начертаване на всичко чрез SMS. Проверете pfodSpecification.pdf за всички поддържани екрани и съобщения.
Генерираният код е тук. Той няма подкана и само един превключвател, за да поддържа съобщението кратко. Дългите менюта се изпращат чрез множество SMS съобщения, чието пристигане отнема повече време. Ако имате дълго меню, кодът за sms връзка в библиотеката на pfodParser обработва всичко това вместо вас.
За да добавите парола към вашата SMS връзка, променете линията
parser.connect (& pfodSMS); // свързваме анализатора към SMS поток към нещо като parser.connect (& pfodSMS, F ("173057F7A706AF9BBE65D51122A14CEE"));
но използвайте собствена парола с до 32 шестнадесетични цифри, 0..9 A.. F. Паролите, по -къси от 32 шестнадесетични цифри, се допълват с 0. Вижте Simple Wifi/Internet pfodDevice с 128 -битова защита (Arduino) за това как да генерирате произволна парола и да я изведете в QR код за лесно въвеждане във вашия Android. Вижте също pfodAppForAndroidGettingStarted.pdf
PfodDesigner също ще генерира код за bluetooth и wifi връзки чрез сериен и Ethernet чрез SPI всички с опционална 128 -битова защита
pfodApp
Първото нещо, което трябва да осъзнаете, е, че SMS -ът е бавен и може изобщо да не стигне до там или да пристигне извън ред. Така че, когато се свържете с pfodApp, ще има известно забавяне, преди да има SMS отговор. Ако съобщението се изгуби или забави, pfodApp автоматично ще го изпрати отново след 3 минути. След 5 такива опита pfodApp ще ви каже, че връзката е загубена. Можете да регулирате 3 минути в екрана за редактиране на връзката на pfodApp.
Ако добавите парола, има шест SMS съобщения (три във всяка посока), преди главното меню да бъде получено от pfodApp. Тези допълнителни съобщения се случват само при първоначалната връзка, след което няма допълнителни съобщения при използване на парола. Затова започнете без парола, за да видите, че всичко работи и след това добавете паролата по -късно.
SMS/GPRS щит
Възможни проблеми са, че SIM картите са защитени с пинови номера или не са упълномощени да се свързват с мрежата. Библиотеката pfod автоматично включва GPRS щита и търси отговора „готов за обаждане“. Ако този отговор не пристигне, библиотеката се изключва и се опитва отново, така че ако видите индикатора за захранване на GPRS щита да свети за 20 секунди и след това да изгасне, има проблем при свързването към мрежата. Извадете SIM картата и я опитайте в нормален телефон. Проверете дали не сте подканени за пин номер.
Ако това не е проблем, ще трябва да включите отстраняването на грешки при стартиране, както е описано по-долу, за да видите какво се случва.
Захранване на Mega / GPRS щита
Щитът извлича до 2А импулсно и до 0.5А непрекъснато. Ако приемем 12V захранване от батерията, 0.5A надвишава капацитета на захранването Mega на борда. Така че този щит НЕ трябва да се захранва от 7V до 12V вход на Mega. Алтернативата е да захранвате Mega и щита чрез USB връзката. Използвах 1A USB захранване. За тестване използвах концентратор, захранван от Belkin (F4U020), за да предотвратя извличането на прекомерен ток от USB порта на компютъра.
За захранване с 12V батерия предлагам да използвате качествено автомобилно USB 5V зарядно устройство, 1A или по -високо. Качествено автомобилно USB 5V захранване трябва да бъде проектирано така, че да преодолява скокове на напрежение, възникнали в електрическите системи на автомобила, и така трябва да бъде подходящо за повечето 12V зареждащи системи.
Твърдотелно реле
Тъй като този примерен проект управлява бойлер за гореща вода (резистивно натоварване), релето в твърдо състояние е идеално. Ако искате да включите или изключите двигателите, да стартирате генератори и т.н., говорете с вашия електротехник за подходящо реле за работата. Ако имате нужда от реле с висока мощност, можете да използвате малко релейно задвижване до платката arduino, за да включите и изключите захранващото реле.
Налични са много версии на твърдотелни релета. Уверете се, че купувате на това, което може да се справи с тока и напрежението на вашия нагревател и може да се контролира от 5V dc и няколко милиампера, налични от изходния щифт на Arduino. Използваният тук, FOTEK SSR-40 DA, превключва до 380VAC при 40Amps и се управлява от нещо повече от 3V dc и отнема по-малко от 7mA.
Трябва да използвате радиатор и трябва да нанесете ТАНКА намазка от радиатор или термична грес върху задната част на релето в твърдо състояние, преди да го закрепите към радиатора. Идеята е да се покрие изцяло повърхността с най -тънкия слой от мивка на главата, за да се запълнят микроскопичните котловини в металната повърхност. При включване на твърдотелния превключвател пада 1.6V, което генерира 16 вата топлина при 10А. Радиаторът трябва да се отърве от тази топлина, така че трябва да се монтира на свободен въздух, а не в пластмасова кутия.
Забавянията са зло
GPRS щитът доставя SMS съобщения чрез серийна връзка по всяко време и основният ви цикъл () трябва да извиква cmd = parser.parse (); често за обработка на серийните данни преди 64 -байтовия буфер в кода на библиотеката Arduino да се запълни и данните да бъдат загубени.
Така че трябва да поддържате основния си цикъл () да работи бързо. Никога не трябва да използвате delay () и трябва да проверите дали никоя от библиотеките, които използвате, няма закъснения в тях. Използвайки скоростта на предаване по подразбиране 19200 на SIM900 чрез хардуерен сериал, не намерих за необходимо да увелича размера на буфера в кода на библиотеката Arduino. Не използвам Software Serial, само Serial и Serial1, Hardware Serial връзки и почти всички съобщения, които pfodApp изпраща са много малки, 10 или 12 байта. Можете обаче да увеличите размера на буфера на Arduino, ако желаете, като промените дефиницията в HardwareSerial.h от #define SERIAL_BUFFER_SIZE 64 на #define SERIAL_BUFFER_SIZE 128
Обаче открих, че ако активирам извеждането на грешки, както е описано по -долу, трябваше да имам много бърза скорост на предаване за терминалната връзка, в противен случай забавянето, въведено чрез изпращане на съобщения за отстраняване на грешки до терминала, доведе до пропускане на части от SMS съобщенията.
Инсталация
Добавих щифт с винтова клема, така че имах с какво да свържа твърдотелните релейни проводници. Още не съм накарал моя електротехник да инсталира контролера. Той трябва да бъде поставен в изолирана кутия, но с радиатор, стърчащ през слот и свързан към захранващия кабел за гореща вода.
Стъпка 3: Предложения за по -нататъшни подобрения - Сигнали, Регистриране на данни и Начертаване
Примерният проект по -горе само показва как водата се включва или изключва и ви позволява да го превключвате. Но SMS връзката обработва всички pfod съобщения (вижте pfodSpecification.pdf)
Ако добавите температурен сензор към вашия arduino, можете също да изпращате мониторинг на температурата и да изпращате обратно показания на редовни интервали. За да изпратите обратно четене на данни е същото за bluetooth, wifi или SMS, просто добавете кода като примерната по -долу. Вижте Регистриране и начертаване на данни за повече подробности и примери за регистриране и нанасяне на данни.
parser.println (време); parser.print (','); parser.println (температура);
Когато библиотеката на pfodSMS види новия ред от println (), тя ще изпрати необработените данни като SMS. На мобилния си телефон просто оставете pfodApp да работи във фонов режим и вашият мобилен телефон ще ви уведоми, когато бъде получен SMS. Отворете отново pfodApp, за да го изведете отпред и след това отворете екрана Raw Data от менюто на мобилния телефон, за да видите данните. Забележка: Съобщенията на pfodSMS са UTF-8 знаци заедно с номера на връзка и съобщение, кодирани с помощта на кодиране Base64, така че да не изглеждат като нормален текст. Вижте дизайна на съобщенията на pfodSMS за всички подробности.
Можете да използвате същия процес, за да изпратите сигнал, когато нещо се промени от разстояние. parser.println (F („Външна температура под 0 ℃“)); Забележка: знакът ℃ UTF-8 в низ. pfodSMS предава всички UTF-8 знаци през pfodApp.
Стъпка 4: Отстраняване на грешки при използване на SMS връзката в библиотеката на PfodParser
![Отстраняване на грешки при използване на SMS връзката в библиотеката на PfodParser Отстраняване на грешки при използване на SMS връзката в библиотеката на PfodParser](https://i.howwhatproduce.com/images/010/image-28896-4-j.webp)
![Отстраняване на грешки при използване на SMS връзката в библиотеката на PfodParser Отстраняване на грешки при използване на SMS връзката в библиотеката на PfodParser](https://i.howwhatproduce.com/images/010/image-28896-5-j.webp)
PfodDesigner генерира работещ код, но може да искате да отстраните грешки в собствения си допълнителен код или да погледнете какво се случва, докато GPRS щитът се стартира или получава SMS съобщения. Има няколко подхода, които можете да предприемете.
Отстраняване на грешки в собствения код
Ако отстранявате грешки в собствения си код, можете просто да коментирате линията pfodSMS и да свържете анализатора към Serial и след това да премахнете GPRS щита и да стартирате Mega от терминала Arduino. Променете setup () на
//pfodSMS.init(&Serial, 9); // не стартирайте анализатора на GPRS щит.connect (& Serial); // свързваме синтактичния анализатор към Serial вместо SMS поток
След това от терминала Arduino можете да въведете {.}, За да накарате Mega да върне главното меню и след това да изпрати команда за обратно, която искате да изпълните, напр. {A`1} за включване на релето и {A`0} за изключване. (PfodApp обикновено изпраща тези съобщения вместо вас, когато щракнете върху плъзгача.) След това добавете допълнително отстраняване на грешки parser.println (), за да следите какъв допълнителен код правите.
Мониторинг на GPRS щита
Ако искате да видите какво прави GPRS щитът. Как се стартира, получаване на SMS съобщения и т.н. След това трябва да смените кабела на щита, да го свържете към Mega Serial1 (сериен) и да освободите серийната (USB) връзка за отстраняване на грешки към Arduino IDE Monitor.
За да свържете GPRS щита към Mega 2560 Serial1, премахнете връзките, показани по -горе, и добавете проводниците към пиновете TX1 и RX1 на Mega.
След това променете кода за настройка () на
void setup () {Serial1.begin (19200); // промяна на Serial на Serial 1 Serial.begin (57600); // ЗАБЕЛЕЖЕТЕ бързата скорост на предаване за USB серийния порт // към монитора на Arduino IDE. for (int i = 3; i> 0; i--) {// изчакайте няколко секунди, за да видите дали ни програмира забавяне (1000); } pinMode (cmd_A_pin, OUTPUT); pfodSMS.setDebugStream (& Serial); // трябва да направим това преди pfod_SMS.init // или друг извикване на метод на pfod_SMS // инициализиране на SMS и свързване на анализатора // промяна на следващия ред на Serial1 pfodSMS.init (& Serial1, 9); // свързва Seeed GPRS щит V2 към Serial1 вместо Serial parser.setDebugStream (& Serial); // трябва да направим това преди parser.connect // или друг извикващ метод на парсер parser.connect (& pfodSMS); // свързваме анализатора към SMS поток}
Сега можете да декомментирате някои от настройките за отстраняване на грешки в библиотеката на pfodParser в to на файла pfodSMS_SIM900.cpp.
Например без коментар #define DEBUG_SETUP ще разпечата (към потока за отстраняване на грешки) какво се случва, докато захранва GPRS щита и го подготвя за получаване на SMS съобщения.
Без коментар #define DEBUG ще даде много информация за получените SMS съобщения.
Това е !
Препоръчано:
Персонализирани контроли на Redbear BLE Nano V2 с PfodApp - не се изисква кодиране: 6 стъпки
![Персонализирани контроли на Redbear BLE Nano V2 с PfodApp - не се изисква кодиране: 6 стъпки Персонализирани контроли на Redbear BLE Nano V2 с PfodApp - не се изисква кодиране: 6 стъпки](https://i.howwhatproduce.com/images/011/image-32716-j.webp)
Персонализирани контроли на Redbear BLE Nano V2 с PfodApp - Не се изисква кодиране: Актуализация: 15 септември 2017 г. - Тази инструкция е актуализирана, за да използва най -новата версия на RedBear BLE Nano, V2. Предишната версия на тази инструкция, насочена към RedBear BLE Nano V1.5, е достъпна тук. Актуализиране на 15 ноември - 2017 Така
Arduino/Android за начинаещи, не се изисква кодиране - Данни и контрол: 15 стъпки
![Arduino/Android за начинаещи, не се изисква кодиране - Данни и контрол: 15 стъпки Arduino/Android за начинаещи, не се изисква кодиране - Данни и контрол: 15 стъпки](https://i.howwhatproduce.com/images/003/image-7077-j.webp)
Arduino/Android за начинаещи, не се изисква кодиране - Данни и контрол: Актуализация 23 април 2019 г. - За графики за дата/час, използващи само Arduino millis () вижте Arduino Начертаване на дата/час/Регистриране с помощта на Millis () и PfodApp Най -новият безплатен pfodDesigner V3 .0.3610+ генерира пълни скици на Arduino за нанасяне на данни спрямо дата/час u
Adafruit Feather NRF52 Персонализирани контроли, не се изисква кодиране: 8 стъпки (със снимки)
![Adafruit Feather NRF52 Персонализирани контроли, не се изисква кодиране: 8 стъпки (със снимки) Adafruit Feather NRF52 Персонализирани контроли, не се изисква кодиране: 8 стъпки (със снимки)](https://i.howwhatproduce.com/images/004/image-11055-5-j.webp)
Персонализирани контроли на Adafruit Feather NRF52, не се изисква кодиране: Актуализация 23 април 2019 г. - За графики за дата/час, използващи само Arduino millis () вижте Arduino Начертаване на дата/час/Регистриране с помощта на Millis () и PfodApp Най -новият безплатен pfodDesigner V3.0.3610+ генериран завършете скици на Arduino, за да начертаете данни спрямо дата/час u
Обикновен комплект за дистанционно управление, трансформиран в четириканално дистанционно управление RC играчка: 4 стъпки
![Обикновен комплект за дистанционно управление, трансформиран в четириканално дистанционно управление RC играчка: 4 стъпки Обикновен комплект за дистанционно управление, трансформиран в четириканално дистанционно управление RC играчка: 4 стъпки](https://i.howwhatproduce.com/images/002/image-5261-42-j.webp)
Обикновен комплект за дистанционно управление, трансформиран в четириканално дистанционно управление RC Toy: 如何 将 通用 遥控 套件 转换 为 玩具 中 使用 的 四 遥控 器。 遥控 套件 非常 便宜。 采用 62 62 2262 和 2272 芯片 433 模块 构建。方法 非常 简单。 只需 一些 瓦楞纸 板 , 然后 按照 视频 教程 这个 电子 项目 并 为 服务。 玩具 车船 提供 远程 无线 控制
Robot Gong: Ultimate Hackaton Project Idea for Sales and Product Geeks (Не се изисква кодиране): 17 стъпки (със снимки)
![Robot Gong: Ultimate Hackaton Project Idea for Sales and Product Geeks (Не се изисква кодиране): 17 стъпки (със снимки) Robot Gong: Ultimate Hackaton Project Idea for Sales and Product Geeks (Не се изисква кодиране): 17 стъпки (със снимки)](https://i.howwhatproduce.com/images/002/image-4799-106-j.webp)
Robot Gong: Ultimate Hackaton Project Idea за продажби и продуценти (не се изисква кодиране): Нека изградим роботизиран музикален гонг, задействан по имейл. Това ви позволява да настроите автоматизирани имейл сигнали, за да задействате гонг … (чрез SalesForce, Trello, Basecamp …) Вашият екип никога повече няма да забрави " GONGGG " когато излезе нов код, деа