Programos adaptavimas iš Android į Raspbery

Manau čia bus ką veikti. Teks papildomai suinstaliuoti gcc bibliotekas ir MySQL dev paketą. Vienas iš skirtumų – duomenų neberašysime į kortelę, o rašysime į MySQL DB. Taigi. Patogumo dėlei suinstaliuotas mc (midnight commander) leidžia jungtis per ftp. Kopijuoju seną studentui rašytą programą finger.c ir emIII programą, kuri dirbo su Android.

Pradžiai ‘riešutėlis’ – komandinė eilutė ‘gcc test.c test.o’ užsispiria – rašo no such file, galvoju gal nebus C kompiliatoriaus, tačiau klaida kur kas žemiškesnė: komandinėje eilutėje nurodomas rezultato failas turi būti lydimas ‘-o’ rakto. Tenka žiūrėti ankstesnį savo pasidarytą instrukciją, kaip paruošti Raspberry.

Pirma kompiliacijos pastebėjimas #include komanda tokia pat, Android ir Raspberry. Juk čia ta pati C. Komentuoju visus includus, žiūrėsim, kai kokių nors reiks, suksimės. Dar iškyla klausimas? Kaip Raspberry atsimena laiką? Sinchronizuojasi, kai atsiranda inetas? turi savo RTC chipą? ar yra RTC baterija Raspberyje? Atsakymų paieškosime vėliau.

Kompiliavimo eilutė ‘gcc test.c -o test.o’. Rašo, kad trūksta failo mysql.h. Aha, pridedame papildomą modulį:

apt-get install libmysqlclient-dev

Dar viena klaida:

fatal error: pigpio.h: No such file or directory
 #include 

The gpio utilitė yra wiringPi bibliotekoje. Ją instaliuojame sekančiai:

sudo apt-get install wiringpi

Tačiau tai nepadeda išvengti klaidos. išmetu -lpigpio kompiliavimo raktą ir deklaravimo eilutę „#include pigpio.h“ ir pradinio teksto. matomai tai pytono biblioteka ir ji dabar nereikalinga.

Dabar trūksta mysql_init reference. Tikriausia reikia paruošti MySQL DB ir lenteles. DB pavadinkime ‘vejojegaines’. Ideologija tokia: nenaudokime didžiųjų raidžių lentelių ir laukų pavadinimuose. Priėjimą prie DB suteikime vartotojui ‘vejojegaines’ su tokiu pat slaptažodžiu.

#mysql -u root

mysql>grant all on vejojegaines.* to vejojegaines identified by ‘vejojegaines’;

Pastaba: mysql root vartotojas be slaptažodžio! Antros kortelės instaliavime root vartotojui suteiktas ‘root’ slaptažodis.

Laikas pagalvoti apie DB lentelių struktūrą. Vieną iš jų pavadinkime ‘duomenys’. Į šią lentelę rašysime duomenis, analogiškus Arduino programos rašomiems į SD kortelę. Patogumo dėlei, koreguojame /etc/mysql/my.cnf failą užkomentuodami eilutę ‘bind address’, tuo leisdami prisijungti prie MySQL serverio iš bet kurio adreso. Dabar jungiamės iš darbinio kompiuterio su programa ‘MySQL query browser’ adresu 192.168.2.177 (tokį nustatėme kaip statinį adresą /etc/networks/interfaces faile – -pasenęs metodas. Antros kortelės instaliavime statinis tinklo adtesas aprašomas /etc/dhcpd.conf faile).

Lentelėje ‘duomenys’ rašysime jėgainių darbo parametrus kaip: laikas, srovė, įtampa, temperatūra, vėjo greitis. Kiekviena jėgainė turi savo ‘vid’ identifikatorių, kuris įrašomas kartu su kitais duomenimis. vid ir gid – grupės identifikatorius apibrėžia grupę, kuriai priklauso jėgainė. Ši priklausomybė įrašoma į lentelę ‘grupes’. Dar viena lentelė jegaine aprašo jėgainės pavadinimą. Čia galimi ir kiti parametrai, kaip adresas, galingumas ir kiti nekintantys parametrai. Lentelių struktūra aprašyta atskirame straipsnyje:

Parašykite komentarą