The actual content is coming soon. We shall develop a software that will control our home automation projects and devices with Raspberry pi.
Tips:
01. makefile:4: *** missing separator. Stop
=> Solution, convert space to tab in the makefile (use Notepad ++, Edit | Blank Operation | Space to Tab)
02. Updating Pi
=> sudo apt dist-upgrade
03. Installing Wiringpi
=> cd /tmp
wget https://github.com/WiringPi/WiringPi/releases/download/2.61-1/wiringpi-2.61-1-armhf.deb
sudo dpkg -i wiringpi-2.61-1-armhf.deb
# Test
sudo gpio -g mode 19 out
sudo gpio -g write 19 1
04. Update Tool Chain
=> sudo apt update
sudo apt dist-upgrade
sudo apt-get install build-essential gawk gcc g++ gfortran git texinfo bison libncurses-dev
05. How to compile from commandline
=> gcc -o led_blink led_blink.c -l wiringPi
06. Download Source code
=> git clone https://github.com/WiringPi/WiringPi.git, go to the folder and ./build
07. Libmodbus Installation
=> sudo apt install libmodbus-dev
08. Physical PINs (Image source https://toptechboy.com/understanding-raspberry-pi-4-gpio-pinouts/pinout-corrected-2/)
Download and launch the Raspberry Pi Imager
=> https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up/2
L298N motor Driver
L298N is a motor driver, which can be used to control a DC motor. We shall use this module to control motor over Modbus TCP.
Jumper: jumper in place – uses the motors power supply to power up the chip. Jumper removed: you need to provide 5V to the +5V terminal. If you supply more than 12V, you should remove the jumper
VCC : This is the pin which supplies power to the motor. It can be 6-12V.
Ground : This is the common ground pin.
5V: This pin supplies the power (5V) for the internal circuit (L298N IC).
ENA: This pin controls the speed of the motor A by enabling the PWM signal (connect to lower pin of ENA).
IN1 & IN2: These are the input pins for motor A. They control the spinning direction of motor A.
IN3 & IN4: These are the input pins for motor B. They control the spinning direction of motor B.
ENB: This pin controls the speed of the motor B by enabling the PWM signal.
OUT1 & OUT2: OUT1: Positive terminal, OUT2: Negative terminal
OUT3 & OUT4: OUT3: Positive terminal OUT4: Negative terminal
References:
=> Remote Desktop connection from Windows to Pi
=> https://microcontrollerslab.com/dc-motor-l298n-driver-raspberry-pi-pico-tutorial/
=> https://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/ (Create make file)
=> https://www.electronicwings.com/raspberry-pi/raspberry-pi-gpio-access (GPIO and BCM)
=> https://www.raspberrypi-spy.co.uk/2012/06/simple-guide-to-the-rpi-gpio-header-and-pins/
=> https://www.linux4sam.org/bin/view/Linux4SAM/AT91Bootstrap
=> http://siliconkit.com/mirror/corewind/www.at91sam.org/note/note252.html
=> https://www.raspberrypi.org/
=> https://pimylifeup.com/raspberry-pi-python/
=> https://www.linux-magazine.com/Issues/2022/258/OPC-Unified-Architecture
=> https://www.maketecheasier.com/control-led-brightness-raspberry-pi/
=> https://www.google.com/search?q=OPC+server+to+raspberry+pi&rlz=1C1DIMC_enFI890FI890&oq=OPC+server+to+raspberry+pi&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIICAEQABgWGB4yCAgCEAAYFhgeMggIAxAAGBYYHjIICAQQABgWGB4yCAgFEAAYFhgeMggIBhAAGBYYHjIICAcQABgWGB4yCAgIEAAYFhge0gEIODc0MmowajeoAgCwAgA&sourceid=chrome&ie=UTF-8