1ou2clics - Avenue des Talents SASU

talents

Представете си малък, евтин GSM модул, който ще предоставите със SIM карта и който след това можете да управлявате по множество начини, за да постигнете вашата персонализирана автоматизация.

Хайде, само 2 примера:

  • Когато колата ви се движи, вие изпращате SMS всяка минута, съдържащ нейните GPS координати.
  • ви изпраща SMS до вашия PLC, за да задействате действия. Той ви отговаря и чрез SMS

Какво ще ти трябва ?

  • както обикновено, малка дъска Arduino Mega 2560
  • 4 свързващи проводника
  • модулът GSM A6

Ще се научим как да:

  • комуникирайте с GSM модула с помощта на прости AT команди
  • изпращайте текстови съобщения
  • получавайте SMS

След това можете да се "забавлявате" при предаване на поръчки чрез SMS, задействане на действия и предаване, винаги чрез SMS, потвърждения за получаване или по-пълна информация.

Ако сте се консултирали с всички статии и форуми по темата, трябва да сте попаднали на много хора в камбуза, независимо дали търсят подходящия GSM модул, правилния фърмуер, за да работи (особено при нас, а не само в Азия), или правилното захранване.

Избрахме GSM модул, оборудван с GSM/GRPS A6 процесор и достъпен тук, или като опция с нашата платка Arduino. Първо предимство: просто ще го захранвате с + 5V на вашата платка Arduino, дори когато самият той се захранва от USB порта на вашия компютър (Mac или PC).

За да превключите на автономна система, всичко, което трябва да направите, е да изключите USB кабела и да използвате малък 9V DC захранващ адаптер, предлаган тук като опция с нашата платка Arduino.

Единствените необходими връзки между платката Arduino и GSM модула са захранването (+ 5V и GND) и серийната връзка. Ще използваме RX2 и TX2 на платката Arduino, за да бъдем свързани към U_TXD и U_RXD на GSM модула (Получаване при предаване и обратно).

Можете да стартирате софтуера си Arduino и да тествате няколко AT команди, най-прекият начин да проверите действията си. Съществуват много вероятно библиотеки за „опростяване“ на поглъщането на GSM модула, но той ще бъде по-малко гъвкав и рискувате изненади, без да можете да разберете откъде идва проблемът.

AT командите са универсалният език за всички комуникационни устройства, дори ако не е задължително всички да отговарят на всички съществуващи команди. Тези от нашия GSM модул са много подробно документирани (177 страници) от производителя и ние предоставяме pdf с модула.

Преди да включите вашия USB кабел (и следователно захранването на картата и модула), поставете вашата SIM карта (микро формат). Ако все още нямате такъв, пак можете да тествате комуникацията с модула, но очевидно без да можете да комуникирате. За нашите тестове първо премахнахме BandYou карта от телефон, след което купихме SIM карта от Prixtel (пакет 2 €).

Слабото място на този вид модули е тяхната поддръжка на SIM карти; По-добре е да осигурите доброто му затваряне например с кламер. SIM картата трябва да е на място, преди да захранвате модула.

ЕТО СНИМКАТА НА НАШЕТО СЪБРАНИЕ

Можем да преминем към първа програма, която ще ни позволи да тестваме комуникацията с модула; състои се от изпращане на някои основни AT команди до нашия модул и показване на отговорите му на серийния монитор на нашето приложение Arduino.

#include

// https://www.1ou2clics.com/forum-alarme/electronique-pratique-avec-l-arduino-c8.html

// първо фазата на инициализация на нашата програма: скорост на комуникация на използваните 2 серийни порта

настройка за празнота ()Serial.begin (9600); // показваме резултатите на серийния монитор на софтуера Arduino (през USB порта)Serial2.begin (9600); // GSM е свързан към Serial2 на платката Arduino Mega 2560 R3>

// CommSerie е малка подпрограма, която ще направи 2 неща, в този ред: предава на GSM модула данните, които изпращаме на платката Arduino// и изпращаме серийните данни от модула към серийния порт на Arduino (свързан с нашия компютър)

void CommSerie ()забавяне (200);докато (Serial.available ())
Serial2.write (Serial.read ());>докато (Serial2.available ())
Serial.write (Serial2.read ());>>

цикъл void ()Serial2.println ("ATI"); // позволява ви да извличате информация от комуникационния модулCommSerie ();