Raspberry Pi - Arduino anslutning (8 / 9 steg)
Steg 8: Programvara, Del3: Pi IP-adress på Nokia display
display. Vi måste ha displayen ansluten till dess wired-upp
uttaget. Dessutom kommer att Pi kräva en trådlös adapter ansluten till
en USB-port och lämpliga förfaranden så att Pi loggar in till
det lokala nätverket. Och, naturligtvis, behöver Arduino skiss
nedan laddad.
Stöveln upp Pi med den nödvändiga utrustningen inkopplad. Efter uppstart,
köra en minicom session precis som i föregående steg, att initiera den
Pi: s seriella porten. Slutligen, köra Bash script längre ner i det här steget.
Här är den Arduino skissen:
/ * Nokia PCD8544 display, serieport data i. * /
/ * I detta särskilda fall, IP-adress. */
/ * Köra kommandotolkskript som tolkar och skickar IP addr. till/dev/ttyUSB0. */
#include < stdio.h >
#include "PCD8544.h"
/ * Digital stift. */
stift 7 - seriell klocka ut (SCLK)
stift 6 - seriell data ut (DIN)
stift 5 - Data/kommandot Välj (D/C)
stift 4 - LCD chip Välj (CS)
stift 3 - LCD reset (RST)
PCD8544 nokia = PCD8544 (7, 6, 5, 4, 3);
#define INTERVALLET 500
#define BUFFSIZE 80 / / följetong buffert.
char line1 [40] = "IP-adress:"; -Huvud.
int dröjsmål = 4000; Intervallet mellan uppdateringar av display.
void setup(void) {
Nokia.init();
Nokia.Command(PCD8544_DISPLAYCONTROL | PCD8544_DISPLAYNORMAL);
Serial.BEGIN(9600); Starta den seriella UART på 9600 Baud.
Nokia.Clear();
Nokia.drawstring (0, 0, line1);
Nokia.display();
}
void loop(void)
{
char serialdata [BUFFSIZE + 3];
int lf = 10;
Serial.readBytesUntil (lf, serialdata, BUFFSIZE);
Nokia.drawstring (0, 1, serialdata);
Nokia.display();
Delay(Interval);
}
Du kan hämta den här:
http://bash.Deta.in/NokiaSerial.ino
Här är Bash-script:
#! / bin/bash
# inet.addr.sh
# Echo Pi: s IP-adress till en seriell port...
#+... som vi råkar ha kopplat en Arduino.
# Kör detta skript efter Aduino drivs upp med lämpliga skiss
#+ (NokiaSerial.ino).
kommandot = ifconfig
addr_hdr = "addr:"
addr_prefix = "inet 192" # för Pidora. Kan ändras för andra distributioner!
serial_port = / dev/ttyAMA0 # direktanslutning till Pi rx och dx.
# ifconfig | grep "inet 192" | awk '{print $2}' | sed s/addr: / /
ipaddr = $(${kommandot} | grep "$addr_prefix" |
awk '{print $2}' | sed s / $addr_hdr / /)
ECHO $ipaddr > "$serial_port" # inte nödvändigt att sätta i loop eller upprepa.
# echo $ipaddr # Debug.
avsluta $?
Du kan hämta skriptet här:
http://bash.Deta.in/inet.addr.sh
Ser du Pi: s IP-adress på den lilla displayen i Nokia?
Fantastiska, är det inte?
Det aktuella programmet är praktiskt om du in Pi som en konsollös server.
Efter Pi stöveln upp, visar den sin IP-adress i nätverket,
och detta tyder på att allt fungerar okej. Det gör det även lättare
för att göra en avlägsen inloggning från en annan dator. Som en övning,
Du kan ändra Bash-script för att dessutom Visa något om den
Pi: s stat på andra tillgängliga linjer av Nokia Visa, som
ledigt utrymme på SD-kortet (df kommandot).