void setup(){
Serial.begin(9600); // configuration de la vitesse
sonar_init();
controleur_init();
ligne_init();
}
void loop(){
int mesure,ligne,i;
while(1){
if(Serial.available()){ // commande de la Raspberry
int c=Serial.read(); // lecture de l'octet de commande
switch(c){
case 'M': controleur_demarrer(); break;
case 'A': controleur_arreter(); break;
case 'D':
delay(10);
if(Serial.available()){
int v=Serial.read(); // lecture de la vitesse
controleur_moteur_droit(v);
}
break;
case 'G':
delay(10);
if(Serial.available()){
int v=Serial.read(); // lecture de la vitesse
controleur_moteur_gauche(v);
}
break;
case 'U':
mesure=sonar_mesure();
Serial.write(mesure);
break;
case 'L':
for(i=0;i<3;i++){
ligne=ligne_detecte(i);
Serial.write(ligne);
}
break;
}
}
}
}
# cp /usr/share/doc/hostapd/examples/hostapd.conf.gz /etc/hostapd # gunzip /etc/hostapd/hostapd.conf.gz # # Effectuer les modification sur le .conf # grep 'Modif$' /etc/hostapd/hostapd.conf ssid=MonReseauWiFi # Modif country_code=FR # Modif channel=1 # variez les canaux ! Modif wpa=1 # Modif wpa_passphrase=ABCDEFGH # 8 caractères minimum ! Modif wpa_key_mgmt=WPA-PSK # Modif # grep 'Modif$' /etc/default/hostapd DAEMON_CONF=/etc/hostapd/hostapd.conf # Modif # hostapd -d /etc/hostapd/hostapd.conf # Pour tester # service hostapd restart # Pour lancer en tâche de fond
# cat >> /etc/network/interfaces <<!
auto wlan0
iface wlan0 inet static
address 192.168.100.1
netmask 255.255.255.0
!
# grep 'Modif$' /etc/dhcp/dhcpd.conf
option domain-name=monrobot.org # Modif
option domain-name-servers=192.168.100.1 # Modif
authoritative # Modif
subnet 192.168.100.0 netmask 255.255.255.0 { # Modif
range 192.168.100.100 192.168.100.200; # Modif
option routers 192.168.100.1; # Modif
} # Modif
# ifup wlan0
# service isc-dhcp-server restart
import termios
import time
d=open("/dev/ttyACM0")
iflag,oflag,cflag,lflag,ispeed,ospeed,cc=termios.tcgetattr(d)
cc[termios.VMIN]=1
cc[termios.VTIME]=0
cflag=termios.CLOCAL|termios.CREAD|termios.B9600|termios.CS8
termios.tcsetattr(d,termios.TCSANOW,[0,0,cflag,0,ispeed,ospeed,cc])
time.sleep(2)
d.write(b'D\x80')
d.write(b'G\x80')
d.write(b'M')
time.sleep(5)
d.write(b'A')
d.close()
import socket UDP_IP="127.0.0.1" UDP_PORT=5005 sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) sock.bind((UDP_IP,UDP_PORT)) while True: data,addr=sock.recvfrom(1024) print "received message:",data
<?php
$server_ip='127.0.0.1';
$server_port=5005;
$message='A';
if($socket=socket_create(AF_INET,SOCK_DGRAM,SOL_UDP)){
socket_sendto($socket,$message,strlen($message),0,$server_ip,$server_port);
}
}
?>
import flask
import flask_serial
import termios
SERIAL_PORT='/dev/ttyACM0'
web=flask.Flask(__name__)
web.config['SERIAL_PORT'] = SERIAL_PORT
web.config['SERIAL_BAUDRATE'] = 9600
web.config['SERIAL_BYTESIZE'] = 8
web.config['SERIAL_PARITY'] = 'N'
web.config['SERIAL_STOPBITS'] = 1
it=False
def init_term():
d=open("/dev/ttyACM0")
iflag,oflag,cflag,lflag,ispeed,ospeed,cc=termios.tcgetattr(d)
cc[termios.VMIN]=1
cc[termios.VTIME]=0
cflag=termios.CLOCAL|termios.CREAD|termios.B9600|termios.CS8
termios.tcsetattr(d,termios.TCSANOW,[0,0,cflag,0,ispeed,ospeed,cc])
d.close()
s=flask_serial.Serial(web)
@web.route('/')
def use_serial():
return 'use flask serial!'
@web.route('/send/',methods=['GET','POST'])
def send_mess():
global it
if not it:
init_term()
it=True
if flask.request.method=='POST':
m=flask.request.form.get('message')
else:
m=flask.request.args.get('message')
print(m)
s.on_send(m)
return 'message sent.'
@s.on_message()
def handle_message(msg):
print("message received:", msg)
if __name__ == '__main__':
web.run(host="0.0.0.0",port=int("8000"),debug=True)