Chapter 9: Raspberry pi server | পর্ব ৯ঃ রাসবেরি পাই সার্ভার

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

/wp:paragraph wp:table
প্রয়োজনীয় যন্ত্রপাতি পরিমাণ প্রোডাক্ট লিংক
Raspberry Pi 4 Model B 4GB Complete Set 1   এখানে ক্লিক করুন
Breadboard 1   এখানে ক্লিক করুন
LED-RED 1   এখানে ক্লিক করুন
Male to female jumpers 2   এখানে ক্লিক করুন
100ohm ¼ watt resistor 1   এখানে ক্লিক করুন
/wp:table wp:paragraph

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

/wp:paragraph wp:image {“id”:52279}
/wp:image wp:paragraph

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

/wp:paragraph wp:code
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()
/wp:code wp:paragraph

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

/wp:paragraph wp:image {“id”:52259}
/wp:image wp:paragraph

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

/wp:paragraph wp:image {“id”:52260}
/wp:image wp:paragraph

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

/wp:paragraph ]]>

 

A. R
A. R

Leave a Reply

Your email address will not be published. Required fields are marked *

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