СИМ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. .
2. .
3. .
4. .
5. .
(Активне везе до продавнице ради куповине)
Монтажа и конфигурација
Након што повежете све компоненте, креирајте програм, а затим га преузмите на свој Ардуино. Али прво, морате да инсталирате ГПРС библиотеку, коју можете да преузмете:
[28.02 Кб] (преузимања: 481)
Програмски код за Ардуино
Након што на рачунар повежете СИМ800Л, четвероканални релејни модул и Ардуино, унесите код испод и готови сте.
#инцлуде
#инцлуде
#дефине ТИМЕОУТ 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 ће послати одговор у облику статусне поруке за сваку СИМ картицу.