Untuk praktek kali ini diperlukan aplikasi TCP server yg bisa menggunakan pc maupun smartphone android yang pernah saya bahas sebelumnya dalam pembahasan dasar wemos (klik disini). Kali ini akan saya singkat saja karena pada dasarnya untuk pemahamannya tidak jauh berbeda, hanya cukup memahami proses pada gambar berikut ini :
Penjelasan dari REPL micropython diatas sebagai berikut :
1 . Inisialisasi package socket pada micropython
>>> import socket
>>> s=socket.socket()
2. IP dan port dari socket yg akan dikirimi data, alamatnya berupa tupple berisi 5 anggota
>>> alamat=socket.getaddrinfo('192.168.1.65',4000)
>>> print(alamat)
[(2, 1, 0, '', ('192.168.1.65', 4000))]
3. Hanya dibutuhkan sampai isi tupple [-1] untuk koneksi socket
>>> s.connect(alamat[0][-1])
4. Kirim data teks ke lawan
>>> sock.send('halo bos..apa kabar ?')
21>>> s.send('halo bos..apa kabar ?')1>>> s.send('\n')29>>> s.send('sudah makan siang apa belum ?')
5. Jangan lupa menutup socket kalau sudah selesai
>>> s.close()
import network import socket import time from machine import Pin wlan = network.WLAN(network.STA_IF) conf=wlan.ifconfig() print( 'IP : {}'.format(conf[0])) led = Pin(2, Pin.OUT) led.value(1) # active Low, matikan dulu s = socket.socket() s.bind(('', 8000)) s.listen(5) while True: conn, addr = s.accept() print('Got a connection from %s' % str(addr)) request = conn.recv(10).decode('UTF-8') print('Content = %s' % request) if request == 'ledon': print('LED ON') led.value(0) conn.send('LED telah dinyalakan\n') time.sleep(1) if request == 'ledoff': print('LED OFF') led.value(1) conn.send('LED telah dimatikan\n') time.sleep(1) conn.close()
- Esp8266 micropython sebagai server, dan aplikasi smartphone TCP terminal sebagai client
- Client akan mengirimkan text dan kemudian sesuai prinsip TCP / IP maka akan koneksi segera di close oleh server setelah selesai menerima data. Jadi butuh proses koneksi ulang jika mengirim perintah baru.
- Jika ada data yg dikirim atau istilah TCP nya request, maka data yg masuk akan di bandingkan sesuai kondisi ledon atau ledoff
0 komentar:
Posting Komentar