Arduino Yun - solpanel övervakningssystem (3 / 8 steg)
Steg 3: SOLPANEL övervakning – SETUP ARDUINO YUN SYSTEM
Jag vill inte förklara installationen av den Arduino Yun här. Du kan hitta bra tutorials på nätet om detta. Vad du behöver komma ihåg är användarnamn, lösenord och IP-adress som tilldelats Arduino styrelsen under den första konfigurationen. Jag rekommenderar starkt för att använda en fast IP-adress till styrelsen för att underlätta kommunikation.
Den Arduino Yun är i grunden två oberoende system på en bräda. Har du en 8 bitars AVR mikro styrenhet och ett Linux-system baserat på Atheros AR9331. Atheros driver en Linuxdistribution baserad på OpenWrt namedOpenWrt-Yun (Aka Linino). Jag använder AVR controller för mätning av ström, spänning och ljus. Informationen överförs sedan till Atheros systemet som utför kommunikation del för att distribuera data. Kommunikationen mellan AVR och Atheros görs genom en seriell anslutning och en mjukvaran alarmerat "bron". Det finns flera tutorials på nätet som förklarar hur de två systemen kommunicerar med varandra med hjälp av "bron". Jag kommer att förklara endast några funktioner av "bron" Jag använder i denna ansökan.
Första viktigt steg innan vi går.
Minnet av Linux-system är begränsad. Därför rekommenderas det att utöka minnet med hjälp av en SD-kort. Detaljerade instruktioner finns på hur man expandera Yún diskutrymmet. Följ denna handledning innan vi går vidare med nästa steg.
EXTRA PROGRAMVARA BEHÖVS PÅ LINUX-SYSTEM
Standardinstallationen av OpenWRT-Yun saknar vissa funktioner som vi behöver för det här programmet. För lagring av data vi använder Sqlite, för kommunikationen vi använda PHP5 och för visning av inspelade data använder vi GD. Några av dessa moduler saknas och måste installeras. För att göra detta behöver vi en SSH-anslutning till Linux-system. En SFTP anslutning att överföra vissa filer kommer att vara till hjälp också. Som min utvecklingssystem är Windows, använder jag Bitvise SSH klienten som ger både terminal SSH och SFTP klient. Om du använder Linux eller MacOS, måste du ett liknande verktyg.
Först öppna en SSH-anslutning till Arduino Linux. Sedan installera de nödvändiga paketen med opkg:
Opkg uppdatering
Opkg installera openssh-sftp-server
Opkg installera php5 php5-cgi php5-mod-gd php5-mod-json php5-mod-sub php5-mod-sub-sqlite php5-mod-sqlite
Opkg installera libsqlite3 sqlite3-cli
Efter installation är det nödvändigt att ändra vissa inställningar för PHP och UHTTPD servern. Redigera /etc/php5.ini och aktiverar följande tillägg:
extension=GD.so
ECHO "extension=json.so
ECHO "extension=pdo_sqlite.so
ECHO "extension=sqlite3.so
Redigera /etc/config/uhttpd också och ändra följande rader:
lista tolk ".php=/usr/bin/php-cgi" "
ECHO "alternativet max_requests 10"
Efter det starta om webbservern med
/etc/init.d/uhttpd restart
SKAPA DATABASEN
Enklast är att kopiera filen create.sql till roten på SD-kort med SFTP. Filen kan hittas i min Github databasen. Sedan använda SSH och ange följande kommandon:
CD/mnt/sda1
sqlite3 s.db < create.sql
Detta skapar en tom Sqlite databas i roten på SD-kortet. Databasen har en tabell som heter "s" och fyra kolumner heter
ID = > post-ID
d = > textfält som innehåller datum och tid stämpel, posten
s = > makt produceras av solpanelen
c = > ström förbrukas av huset
l = > ljus värde
Denna databas kommer att vara fylls med poster från AVR mikro controller, med PHP-sidor att överföra eller Visa posterna.
PHP-SKRIPT
PHP-sidor att komma åt data från ett lokalt nätverk eller att visa data i en webbläsare laddas automatiskt när du installerar den Arduino skissen på styrelsen. För att uppnå detta PHP måste sidor finnas i mappen www i sökvägen där Arduino skiss filerna sparas. Om du klona min Github databasen kommer filerna automatiskt placeras i rätt mapp.
Det är alla inställningar göras på Linux sidan för att komma åt data från ett lokalt nätverk.
Gå till nästa steg för att se vad görs inom PHP-sidor.