Raspberry Pi käyttöönotto - DigiaMinions/Project GitHub Wiki
Asennus ja käyttöönotto
Esivaatimukset
Kytkennät
Ennen laitteen käynnistämistä tulisi antureiden ja servojen liitosten Raspberry Pin kanssa olla kytkettynä. Alla kuva Raspberry Pin GPIO-pinneistä ja ohjeet liitäntöjen kytkemiseen.
Load Cell & HX711 -AD-muunnin
HX711 AD-muunnin on yhdistetty Raspberry Pihin 4 johdolla, mitkä tulee kytkeä seuraavasti:
VCC - Pin#01 3.3v DC Power
DT - Pin#21 GPIO09 (SPI_MISO)
SCK - Pin#23 GPIO11 (SPI_CLK)
GND - Pin#06 Ground
Ylempi servo - Power HD HD9001MG Analog
Ylempi servo, mikä vastaa ruoan täytöstä täyttöputkeen, kiinnittyy Raspberry Pi:hin kolmella johdolla seuraavasti:
Signal (oranssi) - Pin#35 GPIO19
+5V (punainen) - Pin#02 5v DC Power
Ground (ruskea) - Pin#39 Ground
Servon tuotetiedot. Viitattu 20.02.2017
Alempi servo - Power HD HD6001MG Analog
Alempi servo, mikä vastaa ruoan syötöstä täyttöputkesta ruokakuppiin, kiinnittyy Raspberry Pi:hin kolmella johdolla seuraavasti:
Signal (oranssi) - Pin#GPIO26
+5V (punainen) - Pin#04 5v DC Power
Ground (ruskea) - Pin#25 Ground
Servon tuotetiedot. Viitattu 20.02.2017
Tiedostot
Ohjelmiston automaattisen käynnistyksen vuoksi laitteessa tulee käyttää absoluuttisia polkuja ja siten ohjelmisto tulee asentaa laitteen juureen kansioon "feeder". Kansioon sijoitettavat pakolliset tiedostot ovat:
- createcert.py
- FeederProgram.py
- JSONMaker.py
- start.sh
- init.sh
Sertifikaatit
"feeder"-kansion sisällä tulee olla "cert"-kansio ja tämän sisällä "default". "default"-kansioon kuuluvat käyttöönoton yhteydessä AWS:n seuraavat sertifikaatit:
- 4847123d22-certificate.pem.crt
- 4847123d22-private.pem.key
- 4847123d22-public.pem.key
Sertifikaateja ei ole tallennettu GitHubiin, vaan ovat noudettavissa AWS IoT:sta Security/Certificates-välilehdestä nimellä 4847123d22
Rakenne
Laitteen tiedostorakenne ensikäyttöönotossa tulisi näyttää seuraavanlaiselta
/
`-- feeder
| -- createcert.py
| -- FeederProgram.py
| -- idconf.py
| -- JSONMaker.py
| -- start.sh
| -- init.sh
`-- cert
`-- default
| -- 4847123d22-certificate.pem.crt
| -- 4847123d22-private.pem.key
| -- 4847123d22-public.pem.key
Ensikäyttöönotto
Ohjelmiston automaattinen suorittaminen käynnistyksen yhteydessä
Kun tarvittavat tiedostot löytyvät laitteesta, tulee ajaa init.sh pääkäyttäjän oikeuksin komennolla
bash /feeder/init.sh
Skripti merkitsee start.sh:n käynnistymään automaattisesti jokaisen laitteen käynnistyksen yhteydessä. init.sh
:n ajon jälkeen laite on käyttövalmis ja voidaan sammuttaa.
start.sh -käynnistysskripti
Varmista, että skriptin rivien 134 ja 149 ARN vastaa oman tilin tietoja, jos AWS-tiliä on muutettu.
Jokaisen käynnistyksen yhteydessä start.sh
huolehtii seuraavista toiminnoista:
- Varmistaa että internet-yhteys on käytettävissä, jää odottamaan mikäli yhteys ei ole saatavilla
- Tarkistaa onko laitepäivityksiä saatavilla laitteen muistissa ja asentaa tarvittaessa
- Tarkistaa löytyykö laitteesta seuraavat asiat sekä noutaa ja asentaa tarvittaessa:
- AWS IoT Root CA -sertifikaatti
- AWS IoT SDK
- abyz.co.uk:n PiGPIO -kirjasto
- abyz.co.uk:n HX711 -AD-muuntimen kirjasto
- Apache Subversion
- Tarkistaa, onko PiGPIO -daemon päällä, käynnistää tarvittaessa
- Tarkistaa, puuttuvatko laitekohtaiset sertifikaatit ja ovatko oletussertifikaatit tallella. Mikäli uusia sertifikaateja ei ole vielä luotu, ajaa ohjelman
createcert.py
- Kun tarvittavat ohjelmat on asennettu, uudet sertifikaatit luotu ja vanhat tuhottu, ajaa pääohjelman
FeederProgram.py
Rakenne
Kun ohjelmisto on ajettu ensimmäisen kerran ja kaikki tarvittava on noudettu ja asennettu, on laitteen tiedostorakenne muuttunut ja näyttää seuraavalta:
/
|-- root-CA.crt
`-- aws-iot-sdk
`-- feeder
| -- createcert.py
| -- FeederProgram.py
| -- HX711.py
| -- HX711.pyc
| -- idconf.py
| -- idconf.pyc
| -- init.sh
| -- JSONMaker.py
| -- JSONMaker.pyc
| -- offset.dat
| -- schedule.dat
| -- schedule_fedtoday.dat
| -- start.sh
| -- todaysnumber.dat
`-- update
`-- cert
| -- laitekohtainen.crt
| -- laitekohtainen.pem.key
| -- laitekohtainen.pem.key
`-- default
`-- PIGPIO
|-- ...