Improved Client Server Framework for Arduino

In this lesson, we show an improved framework for creating a Client/Server connection between your Arduino and your desktop PC over WiFi. This will serve as the basis for our WiFi projects moving forward.  On the arduino side, we have the following code to create the Server:

Remember, you must create a new tab, and include the following as your ‘secrets.h’ file

And then, on the Desktop side, this will be your python ‘Client’ code:

 

RFID Lock and Unlock Demonstration Project Raspberry Pi Pico W

In this video lesson we explore using an RFID-RC522 and an RFID tag to lock and unlock our raspberry pi project. This demonstration will include an RGB LED which remains red while the system is locked, and then turns green when the system is unlocked by the RFID tag. Absence of user input, the system will lock again after 5 seconds. The following is the circuit diagram for the project:

RFID
Schematic for Raspberry Pi Pico W and RFID module, with LED and Push Buttons

When using the breadvolt, or any battery power supply on a breadboard project, do not turn the power supply on while the Raspberry Pi Pico is connected to USB, as you could generate voltage conflicts. It is an either or. If the USB is connected, the power supply should be OFF. Or if you are going to connect the USB, first turn off the power supply.

For your convenience, the code for the project is included below:

 

Connecting and Using the RFID-RC522 RFID Tag in a Raspberry Pi Pico Project

This lesson is a brief introduction to incorporating an RFID tag into your Raspberry Pi Pico W project. We will be using the RFID-RC522 module, and will show to how to both read and write RFID tags.

The schematic shows how to connect the RFID module to your Pi Pico project.

RFID
Connecting the RFID Module to the Raspberry Pi Pico W

The schematic above includes the breadvolt power supply, which we will use later as the project advances in future lessons. Notice carefully the top jumpers on the breadvolt set to 5 Volts, and the lower jumpers are set as 3.3 volts.

When using the breadvolt, or any battery power supply on a breadboard project, do not turn the power supply on while the Raspberry Pi Pico is connected to USB, as you could generate voltage conflicts. It is an either or. If the USB is connected, the power supply should be OFF. Or if you are going to connect the USB, first turn off the power supply.

This is an alternative view of the same schematic, showing the pin labels on the RFID module. Both these schematics are the same, you can use the one you find easiest.

As the project progresses, we will also add two pushbuttons and an RGB LED to the circuit. This is the schematic, which we will use in lesson 121.

RFID
Schematic for Raspberry Pi Pico W and RFID module, with LED and Push Buttons

Incorporating an Adafruit Ultimate GPS into your Raspberry Pi Pico W Project

In this video lesson we will show you how to connect and begin to get data from your Raspberry Pi Pico W connected to an Adafruit Ultimate GPS. The circuit schematic presented below. Notice Tx on the Pi Pico goes to Rx on the GPS, and Rx on the Pi Pico goes to Tx on the GPS.

Pi Pico GPS
This schematic shows how to connect the Adafruit Ultimate GPS to the Raspberry Pi Pico W

Then this is our initial code which reads the data from the GPS one byte at a time and prints it. In future lessons we will explain how to get useful information from this data, but for now, this code will allow you to read the data:

 

Parsing Comma Delimited Data Strings in Arduino

In this lesson we are working on a client server connection. The Arduino is the server, and a python program on a desktop PC is the client. The objective is to control the color of an RGB LED from the client. The client will send data to the server as comma delimited string, like 255,0,255 for RGB. The challenge on the server side is to parse this data so we get integer values of:

R=255

G=0

B=255

In this video lesson we start by simply controlling two LED, a red and green one, from the python client. We then show how we can control an RGB LED by sending the data string from the client, and parsing it on the server side. For your convenience, we include the code here:

Server Side code for the Arduino:

The code above needs a ‘secrets.h’ file which includes your WiFi name and password. This is created in the IDE by choosing ‘Add Tab’. Call the new tab ‘secrets.h’, and edit the code below to include your WiFi name and passwords inside the quotes:

Now, on the client side, this is our standard Python client:

With this code for creating a client and server, and then parsing comma delimited text, you can easily add the code needed to control the RGB LED color to the arduino program.

Making The World a Better Place One High Tech Project at a Time. Enjoy!