Užsikrovus Raspbian OS paleidžiamas autostartuojantis /etc/rc.local failas, kuriame įrašyta wvdial komanda.
Dingus ryšiui inicijuojamas modemo perkrovimas. Praktika parodė, kad pakanka modemo maitinimo išjungimo-įjungimo. Suprojektuokime 3G modemo įtampos padavimą per elektroninį raktą, valdomą GPIO7 išvadu. Schema atrodytų sekančiai:
Parašykim programėlę GPIO7 išvado valdymui: 3gonoff.
#include <iostream> #include <stdio.h> #include <sstream> // for std::stringstream using namespace std; #include <string.h> //used by string #include <wiringPi.h> int main(int argc, char *argv[]) { cout << "Raspbery GPIO 7 porto valdymas: on/off\n"; wiringPiSetup (); pinMode (7, OUTPUT); if (argc>1) { std::stringstream convert(argv[1]); int myint; if (!(convert >> myint)) myint = 0; if (myint==1) { cout << "įjungiama\n"; digitalWrite(7, HIGH); } else if (myint==0) { cout << "išjungiamas\n"; digitalWrite(7, LOW); } else { cout << "argumentas turi būti 0 arba 1. Pvz: './3gonoff 0'\n"; } } else { cout << "argumentas turi būti 0 arba 1. Pvz: './3gonoff 0'\n"; } return 0; }
Kompiliavimo komanda: „g++ 3gonoff.c -o 3gonoff.o -lwiringPi”
Komandinė eilutė: „./3gonoff 1” – reiškia įjungimo komandą, „./3gonoff 0” reiškia išjungimo komandą.
Išsijungia gana lėtai: per 1-3 sek. Matosi kaip gęsta mėlynas 3g modemo indikatorius
Ši programa paruošta, bet dar nenaudojama. Tikiuosi kitų sprendimų, siekiant užtikrinti nenutrūkstamą Ineto darbą.