Open main menu

Changes

X729-script

2,804 bytes added, 26 March
==Overview==
This is script installation tutorial for <span class="tb_red">[[X729]NOTE] shield, it will replace [[: X729-Software | X729 Software installation tutorial]], although [[X729-Software | X725 Software installation tutorial]] is still available, but we strongly recommend that you use this script tutorial, which simplifies the installation process and reduces dependencies on third-party python libraries.supports Raspberry Pi 5 hardware also</span>
This is script installation tutorial for [[X729]] shield, it will replace [[X729-Software | X729 Software installation tutorial]], although [[X729-Software | X729 Software installation tutorial]] is still available, but we strongly recommend that you use this script tutorial, which simplifies the installation process and reduces dependencies on third-party python libraries.
 
<!--
The core shell script of [[X729-script]] comes from from [https://github.com/pimlie/geekworm-x-c1 pimlie/geekworm-x-c1], pimlie implements the pwm fan shell script, which does not depend on third-party python libraries at all. Thanks to pimlie.
-->
Now we think you have successfully flashed the OS Image into Micro SD and and power on the device, and you have also completed the operations such as creating new user required in some OS. You need to perform the following operations in <code>Terminal</code>.
 
'''[Update]:'''
 
1. Use '''gpiod''' instead of obsolete interface
2. The script now supports the Raspberry Pi OS '''BOOKWORM''' version. You just need to '''uninstall''' the original script and '''reinstall''' it. Please refer to the following:
Now we think you have successfully flashed the OS Image into Micro SD and and power on the deviceOPen ternimal window, and you have also completed the operations such as creating new user required in some OS. You need to perform then run the following operations in command:<codepre>Terminalmv x729-script x729-script-oldgit clone https://github.com/geekworm-com/x729-scriptcd x728-scriptchmod +x *.sh./uninstall.sh</codepre>Then just follow the installation process below3. If you are using it on a '''Raspberry Pi 5''' hardware, make sure to update the 6.6.22 or more high kernel version ('''uname -a''' to check kernel version) sudo apt update sudo apt full-upgrade sudo rpi-update
==OS that has been tested==
===Preconfigured <code>config.txt</code>===
To install pwm fan, first add <code>dtoverlay=pwm-2chan,pin2=13,func2=4</code> to <code>/boot/firmware/config.txt</code> under [all] or the end of file and <code>reboot</code>: sudo nano /boot/config.txt '''Or''' (it's <code>/boot/firmware/config.txt</code> if you are using <code>ubuntu os</code>)
sudo nano /boot/firmware/config.txt
Save & exit.
sudo reboot
 
===Install gpiod package===
sudo apt install -y gpiod
===Clone the script===
chmod +x *.sh
</pre>
'''PS''': For some OS such as ''Raspberry Pi OS Lite'', the '''''git''''' tool is not installed by default, if you get an error like ''error: -bash: git: command not found'', please run the following command to install the git tool.
sudo apt install -y git
 
===Configuring Different GPIO Chip for Raspberry Pi 5 hardware===
If you are not using Raspberry 5 hardware, skip this step,or run the following command to set differnt chip and pwm number.
sed -i 's/xPWR.sh 0 5 12/xPWR.sh 4 5 12/g' x729-pwr.service
sed -i 's/xSoft.sh 0 26/xSoft.sh 4 26/g' install-sss.sh
sed -i 's/pwmchip0/pwmchip2/g' x729-fan.sh
 
Note that you need to provide a different gpiochip number on Pi 0,1,2,3,4 (0) and Pi 5 (4).
===Create the x729-fan service===
x729-pwr service will be responsible for power management and hardware safe shutdown.
<pre>
sudo cp -f ./x729-pwrxPWR.sh /usr/local/bin/
sudo cp -f x729-pwr.service /lib/systemd/system
sudo systemctl daemon-reload
sudo systemctl start x729-pwr
</pre>
Now, if you press and hold the onboard switch for 3 seconds, then the blue LED will flash slowly and the shutdown is going then all LEDs will be off until the device is completely powered off.
===Prepair software shutdown script===
sudo cp -f ./x729install-ssh-softsdv1.sh /usr/local/bin/Create a alias Then you can run <code>x729off</code> command to execute the software shutdownas follows x729off<pre>echo "alias x729off='sudo /usr/local/bin/x729-softsd.sh'" >> ~/.bashrc==Uninstall===source ~/ .bashrc</pre>Then you can run <code>x729off</code> to execute software shutdownuninstall.sh
===Test safe shutdown===
* press <code>7-8</code> seconds to force shutdown.
===Sample FileFiles===
The example programs are only suitable for advanced players, and you can construct your own usage scenarios according to the example programs.
 
'''[PS]'''
 
The old example code uses the RPi.GPIO library, which is currently not supported in kernel 6.6.x, so you may encounter an error when running the following code
sudo python3 sample/x728-v2.x-plsd.py
 
Note that you need to provide a different gpiochip number on Pi 0,1,2,3,4 ('''0''') and Pi 5 ('''4''').
 
We recommend that you change your example program to use the '''libgpiod''' library, and libgpiod is officially recommended, and we also provide ONLY ONE example using the libgpiod library ('''plsd-gpiod.py'''), which you can run as follows:
 
sudo python3 sample/plsd-libgpiod.py
 
For other example programs that use the RPi.GPIO library, it is recommended that you change to the libgpiod version if it runs incorrectly.
 
Each example program demonstrates a different function:
sudo python3 sample/buzzer.py
'''PS:''' 1. The above sample python file maybe depends on the third-party python library `Rpi.GPIO`. In the official Raspberry Pi OS and most third-party OS, this library is installed by default. If you run this file and get some errors, try to run the following command to install the Rpi.GPIOy library.
sudo apt-get install -y python3-smbus python3-rpi.gpio
Or you can refer to [[How to Install RPi.GPIO Python Library]]
 
2. The sample program is only to demonstrate how to use the advanced functions of the shield, we do not provide the development function of the sample program.
 
===Enable OLED display===
Refer to [[How to enable OLED display]]
===Set and Read the RTC time===
Refer to [[How to enable RTC]]
===Other===
</html>
==Other resource==* Chip-Specifications:[[File:MAX17040-MAX17041.pdf]]*[https://www.sparkfun.com/datasheets/Components/DS1307.pdf I2C address: 0x36 for battery fuel gauging, 0x68 for RTC]*References: [https://www.instructables.com/Raspberry-Pi-Tutorial-How-to-Use-a-Buzzer/ Raspberry Pi Tutorial: How to Use a Buzzer] Return to [[X729]] or [[X729-hardware]]
<!--Add review function! -->