পর্ব ৯ঃ রাসবেরি পাই সার্ভার

এই এক্সপেরিমেন্টে আমরা একটি রাসবেরি পাইভিত্তিক সার্ভার তৈরী করব। এতে করে একটি ওয়েবপেইজের মাধ্যমে রাসবেরি পাইয়ের জিপিআইও পিনগুলোকে কন্ট্রোল করা সম্ভব হবে। এখানে আমরা রাসবেরি পাইয়ের ১০ নাম্বার পিনের সাথে সংযুক্ত একটি এলইডিকে অন-অফ করব।

প্রয়োজনীয় যন্ত্রপাতি পরিমাণ প্রোডাক্ট লিংক
Complete set raspberry pi B 1   http://bit.ly/rpi3setb
Breadboard 1   http://bit.ly/2IjyUPg
LED-RED 1   http://bit.ly/2W9dRVI
Male to female jumpers 2   http://bit.ly/2rIu6w2
100ohm ¼ watt resistor 1   http://bit.ly/2WCmZGP

সার্কিটঃ নিচের সার্কিট কানেকশনটি সম্পন্ন করুন।

কোডঃ নিচের কোডটি রাসবেরি পাইতে আপলোড করি।

import RPi.GPIO as blink_led
blink_led.setmode(blink_led.BOARD)
blink_led.setup(10,blink_led.OUT)
import socket

HOST, PORT = '', 8888

listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
listen_socket.bind((HOST, PORT))
listen_socket.listen(1)
print('Serving HTTP on port')
print(PORT)

while True:
    client_connection, client_address = listen_socket.accept()
    request_data = client_connection.recv(1024)
    print(request_data.decode('utf-8'))

    http_response = b"""\
HTTP/1.1 200 OK

<html>
    <head>
        <title>Raspberry pi server!</title>
    </head>
    <body>
        <h1>Raspberry pi server</h1>
        <font color="green">Congratulations! The Raspberry pi Server is working!</font>
       
        
        <p>A LED is attached to pin#10 </p>
	
	<p><a href=\"/LOCK=ON\"\"><input type="button" style="background-color:white;color:black;width:150px;
    height:40px;" value="Turn On LED"></a>
	
	<a href=\"/LOCK=OFF\"\"><input type="button" style="background-color:black;color:white;width:150px;
    height:40px;" value="Turn Off LED"></a>

	
	<p><a href="http://www.techshopbd.com/">Visit for electronic components</a>
	<p><a href="http://blog.techshopbd.com/">Visit for electronics blogs</a>
	
    </body>



"""
    if request_data.decode('utf-8').find('LOCK=ON')>=0:
       blink_led.output(10,True)  
       print ('I am on')
    elif request_data.decode('utf-8').find('LOCK=OFF')>=0:
       blink_led.output(10,False)   
       print('I am off') 

    client_connection.sendall(http_response)
    client_connection.close()

প্রোগ্রাম রান করার পর serving http on port 8888 মেসেজটি দেখা যাবে।

ওয়েব ব্রাউজারে localhost:8888 টাইপ করে Enter চাপলে নিচের ওয়েবপেজটি প্রদর্শিত হবে।

ওয়েবপেইজের Turn On LED এবং Turn Off LED বাটন ক্লিক করার মাধ্যমে এলইডি অন-অফ করা হবে।

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.