СМС контролер базиран на СИМ800Л
СИМ800Л В2.0 ГСМ/ГПРС је четворопојасни ГСМ/ГПРС модул компатибилан са Ардуином. Модул се користи за имплементацију ГСМ (позиви и СМС) и ГПРС функција. Предност овог модула је ТТЛ интерфејс, који има напон од 5В, што вам омогућава да га директно повежете на Ардуино или било који други систем са напоном напајања од 5В. Већина ГСМ/ГПРС модула на тржишту захтева повезивање регулатора или конверзију нивоа, док код СИМ800Л В.2 ГСМ/ГПРС не захтева додатна кола за конверзију нивоа интерфејса.
Хајде да дамо пример пројекта који користи СИМ800Л В.2 ГСМ/ГПРС. Поента пројекта је управљање прекидачима помоћу СМС контролера. Лако можете укључити и искључити већину кућних апарата у кући, као што су лама, вентилатор и тако даље.
Карактеристике СИМ800Л В.2 ГСМ/ГПРС модула
Испод су све техничке карактеристике СИМ800Л В.2 ГСМ/ГПРС модула:
- ТТЛ серијски интерфејс компатибилан са 3.3В и 5В Ардуино компатибилним микроконтролерима.
- СИМ800Л модул има ТТЛ серијски интерфејс.
- Утикач за повезивање антене.
- Мрежна подршка: четири опсега 850/900/1800/1900 МХз, способна за позивање, СМС и пренос података уз значајно смањену потрошњу батерије.
- ВДД ТТЛ УАРТ интерфејс, тако да можете директно да повежете МЦУ као што је 51МЦУ, АРМ или МСП430.ВДД утикач се користи за усклађивање ТТЛ напона.
- Модел: СИМЦОМ СИМ800Л
- Радни напон: од 3,7В до 5В;
- димензије: 40мм к 28мм к 3мм
- ГПРС мултислот класа 12/10
- ГПРС пакет услуга класе Б
- У складу са ГСМ фазом 2/2+
- Класа 4 (2 вата на 850/900 МХз)
- Класа 1 (1В на 1800/1900МХз)
Неопходни материјали
Мораћете:
1. СИМ800Л В.2 ГСМ/ГПРС модул.
2. Ардуино Уно.
3. 4-канални 5В релејни модул.
4. Жице - скакачи.
5. Напајање 5В.
(Везе активне до продавнице за куповину)
Монтажа и конфигурација
Када повежете све компоненте, креирајте програм и затим га отпремите на свој Ардуино. Али прво морате инсталирати ГПРС библиотеку, коју можете преузети:
гпрс.зип
[28,02 Кб] (преузимања: 887)
Програмски код за Ардуино
Када повежете свој СИМ800Л, 4-канални релејни модул и Ардуино на рачунар, унесите код испод и готови сте.
#инцлуде
#инцлуде
#дефине ТИМЕОУТ 5000
#дефине АЦТИВЕ ЛОВ
#дефине ОФФ ХИГХ
бајт Релеј [] = {А0,А1,А2,А3};
бајт СтатРелаи[4];
цхар буффНумбер[20];
цхар цуррентЛине[500] = "";
инт цуррентЛинеИндек = 0;
боол нектЛинеИсМессаге = фалсе;
Стринг реплиНумбер = "089510863958";
ГПРС гпрс;
воид сетуп() {
фор(инт и=0; и < 4; и++) {
пинМоде(Релаи[и] , ОУТПУТ);
дигиталВрите(Релаи[и], МАТИ);
СтатРелаи[и] = МАТИ;
}
Сериал.бегин(9600);
вхиле(!Сериал);
Сериал.принтлн("Активирај СИМ800Л В2 >>> Аутоматски читај СМС");
гпрс.преИнит();
кашњење(1000);
док (0 != гпрс.инит()) {
кашњење(1000);
Сериал.принт("инит ерроррн");
}
// Управљај поруком у режиму АСЦИИ
иф (0 != гпрс.сендЦмдАндВаитФорРесп("АТ+ЦМГФ=1рн", "ОК", ТИМЕОУТ)) {
ЕРРОР("ГРЕШКА:ЦНМИ");
повратак;
}
// Читање долазног СМС-а
иф (0 != гпрс.сендЦмдАндВаитФорРесп("АТ+ЦНМИ=1,2,0,0,0рн", "ОК", ТИМЕОУТ)) {
ЕРРОР("ГРЕШКА:ЦНМИ");
повратак;
}
инт пјг = реплиНумбер.ленгтх() + 1;
буффНумбер[пјг];
реплиНумбер.тоЦхарАрраи(буффНумбер,пјг);
Сериал.принт("Пошаљи одговор на број => ");
Сериал.принтлн(буффНумбер);
Сериал.принтлн("Иницијализација обављена");
Сериал.принтлн("=============================================== =============== =================");
}
воид лооп() {
// Промена статуса Релеја УКЉУЧЕНО / ИСКЉУЧЕНО
фор(инт и=0; и < 4; и++) {
дигиталВрите(Релаи[и], СтатРелаи[и]);
}
// Ако постоје улазни подаци са СИМ800
иф (гпрс.сериалСИМ800.аваилабле()) {
цхар ластЦхарРеад = гпрс.сериалСИМ800.реад();
// Сачувајте све податке на ластЦхарРеад, а затим ако постоји р или н, као коначни сигнал долазне поруке
иф (ластЦхарРеад == 'р' || ластЦхарРеад == 'н') {
Стринг ластЛине = Стринг(цуррентЛине);
// Ако последња порука +ЦМТ указује да је стигла нова порука
иф (ластЛине.стартсВитх("+ЦМТ:")) {
Сериал.принтлн(ластЛине);
нектЛинеИсМессаге = истина;
} елсе иф (ластЛине.ленгтх() > 0) {
иф (нектЛинеИсМессаге) {
Сериал.принтлн(ластЛине);
// ================================================= ==== =================>> Функција релејног контролера
//Релеј 1 контролер
иф (ластЛине.индекОф("Релаи 1 ОН") >= 0) {
СтатРелаи[0] = АКТИФ;
Сериал.принт("Одговор====>>>> ");
Сериал.принтлн("Релаи 1 Статус Ацтиве");
гпрс.сендСМС(буффНумбер, "Релаи 1 Статус Ацтиве");
}
елсе иф (ластЛине.индекОф("Релаи 1 ОФФ") >= 0) {
СтатРелаи[0] = МАТИ;
Сериал.принт("Одговор====>>>> ");
Сериал.принтлн("Релеј 1 Статус искључен");
гпрс.сендСМС(буффНумбер, "Релеј 1 Статус искључен");
}
//Релеј 2 контролер
иф (ластЛине.индекОф("Релаи 2 ОН") >= 0) {
СтатРелаи[1] = АКТИФ;
Сериал.принт("Одговор====>>>> ");
Сериал.принтлн("Релаи 2 Статус Ацтиве");
гпрс.сендСМС(буффНумбер, "Релаи 2 Статус Ацтиве");
}
елсе иф (ластЛине.индекОф("Релаи 2 ОФФ") >= 0) {
СтатРелаи[1] = МАТИ;
Сериал.принт("Одговор====>>>> ");
Сериал.принтлн("Релаи 2 Статус Офф");
гпрс.сендСМС(буффНумбер, "Релаи 2 Статус Офф");
}
//Релеј 3 контролер
иф (ластЛине.индекОф("Релаи 3 ОН") >= 0) {
СтатРелаи[2] = АКТИФ;
Сериал.принт("Одговор====>>>> ");
Сериал.принтлн("Релаи 3 Статус Ацтиве");
гпрс.сендСМС(буффНумбер, "Релаи 3 Статус Ацтиве");
}
елсе иф (ластЛине.индекОф("Релаи 3 ОФФ") >= 0) {
СтатРелаи[2] = МАТИ;
Сериал.принт("Одговор====>>>> ");
Сериал.принтлн("Релаи 3 Статус Офф");
гпрс.сендСМС(буффНумбер, "Релаи 3 Статус Офф");
}
//Релеј 4 контролер
иф (ластЛине.индекОф("Релаи 4 ОН") >= 0) {
СтатРелаи[3] = АКТИФ;
Сериал.принт("Одговор====>>>> ");
Сериал.принтлн("Релаи 4 Статус Ацтиве");
гпрс.сендСМС(буффНумбер, "Релаи 1 Статус Ацтиве");
}
елсе иф (ластЛине.индекОф("Релаи 4 ОФФ") >= 0) {
СтатРелаи[3] = МАТИ;
Сериал.принт("Одговор====>>>> ");
Сериал.принтлн("Релаи 4 Статус Офф");
гпрс.сендСМС(буффНумбер, "Релаи 4 Статус Офф");
}
нектЛинеИсМессаге = фалсе;
}
// ================================================= ==== ====================>>
}
//Обриши низ знакова за следећи ред читања
фор ( инт и = 0; и < сизеоф(цуррентЛине); ++и) {
цуррентЛине[и] = (цхар)0;
}
цуррентЛинеИндек = 0;
}
остало {
цуррентЛине[цуррентЛинеИндек++] = ластЦхарРеад;
}
}
}
Провера уређаја
Алат функционише тако што шаље СМС на СИМ800Л са одређеним низом карактера. На пример, да бисте укључили релеј 1, користите команду „Релеј 1 УКЉУЧЕН“, а да бисте га искључили, користите команду „Релеј 1 ОФФ“. За преостале релеје, команде су скоро исте, осим редног броја сваког релеја на који желите да утичете. Након аутоматског слања поруке, СИМ800 ће послати одговор у виду поруке о статусу сваке СИМ картице.
Видео монтаже, конфигурације и тестирања уређаја
Оригинални чланак на енглеском
Сличне мајсторске класе
Посебно занимљиво
Коментари (4)