Automatinis modemo prijungimas po atsijungimo

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ą.

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *