[PRZYKŁAD] Usługa SMS powiadamiająca o nadmiernym stężeniu gazu – Orange Pi 2G-IOT oraz modMQ-5
W projekcie wykorzystano także moduł z czujnikiem gazów ziemnych i LPG modMQ-5. Moduł ma dwa wyjścia – analogowe, na którym napięcie jest proporcjonalne do stężenia gazu w powietrzu oraz cyfrowe – wchodzące w stan niski po przekroczeniu pewnego stężenia progowego, które można regulować za pomocą potencjometru znajdującego się na spodzie modułu. W ofercie sklepu KAMAMI.pl można znaleźć podobne czujniki służące do sygnalizowania stężenia innych gazów. W związku z tym można podłączyć do minikomputera inny czujnik w celu zmiany rodzaju gazu, na który będzie reagował przyrząd.
Podłączenie czujnika do minikomputera jest niezbyt trudne. Jako, że płytka nie dysponuje przetwornikiem analogowo-cyfrowym, można tylko podłączyć wyjście cyfrowe czujnika do pinu GPIO płytki, oraz zasilić czujnik. Połączenie przedstawiono w tabeli poniżej.
Pin modMQ-5 |
Pin Orange Pi 2G-IOT |
VCC | 5V |
GND | GND |
DO | GPIO37 |
Poniżej znajduje się pinout złącza GPIO płytki Orange Pi 2G-IOT:
Na zdjęciu poniżej znajduje się podłączony układ:
W tym miejscu należy pobrać z serwisu github i zainstalować w systemie bibliotekę wspierającą w systemie obsługę GPIO – WiringPI. Można to zrobić poniższą sekwencją poleceń:
git clone https://github.com/OrangePiLibra/WiringPi.git cd WiringPi/ ./build OrangePi_2G-IOT ./build OrangePi_2G-IOT install
Pinout linii GPIO naszego komputera można sprawdzić wykonując polecenie:
gpio readall
Powinno się otrzymać taki efekt:
Jak widać pin GPIO37 jest oznaczony w bibliotece WiringPi jako pin numer 1. Takiego oznaczenia należy też używać przy pisaniu programu. Co do modemu GSM – producent udostępnia przykładowy program do obsługi sieci. Co prawda nie polecam go używać (jako centrum SMS jest wpisany numer zarejestrowany w Chinach, więc może być to kosztowne), ale pożyczę sobie z niego kilka funkcji (Kod pod nazwą „OrangePi_2G_IOT_GSM_Demo” znajduje się w sekcji „do pobrania”, można go także znaleźć w instrukcji do minikomputera).