Open main menu

Changes

X729-Software

3,384 bytes added, 01:11, 23 July 2023
no edit summary
{{GD Template Impl}}
<big>Although this installation tutorial is still available, but we strongly recommend that you use [[X729-script]] new tutorial, and we no longer maintain this page.</big> ==Setup script==The following test is base on * [https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2023-05-03/2023-05-03-raspios-bullseye-arm64.img.xz 2023-05-03-raspios-bullseye-arm64.img.xz]* [https://www.raspberrypi.com/software/operating-systems/ 2022-09-22-raspios-bullseye-armhf.img.xz]* [https://www.raspberrypi.com/software/operating-systems/ 2022-09-22-raspios-buster-armhf.img.xz] PS: To buster version, the default user name is 'pi, but bullseye version, you need to manually create a new user. In our example script, the new user name we created is 'pi'. If you create your own user name, you need to modify the corresponding user name directory in the script. For Example: You may need to change '/home/pi/' => '/home/XX/', 'XX' is user name you created.
Python version is 3;
==='''1. Enable I2C funcion on Raspbian: reter to [[How to enable I2C]]'''===
Please reter to [[How to enable I2C]] ==='''2. Check & review I2C address'''=== 2.1 Login via teminal window, then update & upgrade & install necessary software (python and i2c tool library)
sudo apt-get update
sudo apt-get -y upgrade sudo apt-get -y install i2c-tools python3-smbus python3-rpi.gpio sudo apt-get -y install python3-pip python3-pil #sudo apt-get -y install pigpio python-smbuspigpio python3-pigpio
2.1 Once you have logged into your Raspberry Pi from the command line, run the command to see all the connected devices
<PRE>pi@raspberrypi:~ $ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e [[Filef00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20:X728x-i2c.png]]- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- 36 -- -- -- -- -- 3c -- -- -- 40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- </PRE>Explaination:<PRE> #36 - the address of the battery fuel gauging chip #3c - address of oled display,This value only exists when the oled is inserted,check if the OLED is inserted in the correct direction if you don't found the above i2c port#40 - TI INA219 12-bit current/voltage/power monitor#68 - the address of the RTC chip #Different x728 versions may have different values</PRE>
PS: Please check if the OLED is inserted in the correct direction if you don't found the above i2c port ==='''3. Setting up the power management script'''=== 3.1 Download x728 x729 setup scripts:
cd ~
git clone https://github.com/geekworm-com/x728x729
43.2. Install script&reboot: cd x729 chmod +x *.sh sudo bash pwr.sh #Setting up the command to turn off X729 from software printf "%s\n" "alias x729off='sudo x729softsd.sh'" >> ~/.bashrc #Reboot the Raspberry Pi or long press on-board button switch to turn off sudo reboot now3.3 Powering off the Raspberry Pi from software x729off * x729off is safe shutdown command* press on-board blue button 1-2 seconds to reboot* press on-board blue button 3 seconds to safe shutdown,* press on-board blue button 7-8 seconds to force shutdown. ==='''4. Setting up the PWM cooling fan'''=== cd ~ cd x729 python3 pwm_fan_control.py 4.1 Run the script at Raspberry Pi boot  sudo crontab -e [[File:Crontab-step1.png|none]] Choose "1" then press Enter
Firstly please select your x728 version, please use x728-v2.1.sh for x728 v2.1 and v24.2Add a line at the end of the file that reads like this: sudo bash x728-v2@reboot python3 /home/pi/x729/pwm_fan_control.1.sh #New add buzzer supportor sudo bash x728-v2.0.shor sudo bash x728-v1.0.shthen sudo rebootpy
You can get the following python file in /home/pi/ fold[[File:X729-2.png|none]]
x728bat4.py # Reading battery voltage x728pld3 Save and exit.py # Testing AC power off/loss or power adapter failure detectionIn nano, added buzzer function on v2.1 x728plsdyou do that by hitting CTRL + X, answering Y and hitting Enter when prompted.py # Testing Auto shutdown when AC power loss or power adapter failure
54. Set 4 Run below script and Read the RTC timeyou will get RPM value every second: #If you need to set the system time for any reason you can use the following command : cd ~ cd x729 date -s "5 MAR 2019 13:00:00"python3 read_fan_speed.py
#Write the system date and time to the RTC module after your correct the system date and time : sudo hwclock -w==='''5. Test PLD/PLSD/buzzer function'''===
#Read the date and time back from the RTC module:
sudo hwclock -r
65. How to reading battery voltage and percentage, this is the sample code, you can modify it by your request. sudo python /home/pi/x728bat.py[[File:X728-bat-2.jpg]]1 Test AC Power loss or power adapter failure detection (PLD)
User GuideRun the script test the PLD function sudo python3 pld.py[[File: https://githubX729-8.com/geekworm-com/x728 to know more details;png|none]]
But we hope that the script can be executed automatically 5.2 Test Auto shutdown when the Raspberry Pi board boots, we can use crontab system command to achieve it. Refer to [[How to add crontab job]] AC power loss or refer to the following:power adapter failure
Run the script and then remove your power adapter pi@raspberrypi :~ /x729 $ `sudo crontab -e`python3 plsd.py Safe shutdown will be implemented in 5 seconds.
Choose "`1`" then press Enter
Add a line at 5.3 Test the end of the file that reads like this:buzzer alarm when AC power loss or power adapter failure
Run the script and unplug your power adapter from the UPS. `pi@reboot python raspberrypi:~/home/pi/x728batx729 $ sudo python3 buzzer.py`Once power adapter is removed then the buzzer will generate a beep sound continuously.
7. Power off command on Raspbian from software
x728off
* x728off is safe shutdown command
* press on-board blue button 1-2 seconds to reboot
* press on-board blue button 3 seconds to safe shutdown,
* press on-board blue button 7-8 seconds to force shutdown.
8==='''6. Testing AC power offSet and Read the RTC time'''=== 6.1 Run the following command on your Raspberry PI to begin editing the /boot/config.txt file. sudo nano /loss or power adapter failure detection (need boot/config.txt add one of the following lines to the bottom of the file, dtoverlay=i2c-rtc,ds1307 [[File:X729-5.png|none]] Save and exit. In nano, you do that by hitting CTRL + X, answering Y and hitting Enter when prompted. 6.2 Run the commands to short disable the "fake hwclock" which interferes with the 'PLDreal' pin on v1hwclock pi@raspberrypi ~ $ sudo apt-get -y remove fake-hwclock pi@raspberrypi ~ $ sudo update-rc.d -f fake-hwclock remove pi@raspberrypi ~ $ sudo systemctl disable fake-hwclock[[File:X729-6.png|none]] 6.3 Run the command and comment out these five lines: sudo nano /lib/udev/hwclock-set[[File:X729-7.png|none]] 6.4 Reboot the Raspberry Pi pi@raspberrypi ~ $ sudo reboot 6.5 Run the command to verify the time is correct. Plug in Ethernet or WiFi to let the Pi sync the right time from the Internet pi@raspberrypi ~ $ date 6.6 Run the command to write the time pi@raspberrypi ~ $ sudo hwclock -w 6.x)7 Run the command to read the time pi@raspberrypi ~ $ sudo hwclock -r Once the time is set, also test make sure the batteries are inserted so that the buzzer function on v2time is saved. You only have to set the time once. That's it! Next time you boot the time will automatically be synced from the [[X729]]. ===7. How to enable automatic shutdown when low voltage===7.1Run the command to read battery voltage and percentage cd pi@raspberrypi:~/x729 $ sudo python3 x728pldbat.py 7.2 Change the battery low voltage to implement safe shutdown. default is less than 3.00Vdc. or pi@raspberrypi ~ $ sudo python x728pldnano bat.py[[File:X729-3.png|none]]Note: the voltage range must be 2.5~4.1vdc. 
[[File7.3 Optional - if you want to run Python Script automatically on Bootup then run the command pi@raspberrypi:X728-pld~/x729 $ sudo crontab -2.jpg]]e
9. '''Testing Auto shutdown when AC power loss''' or power adapter failure
cd ~
sudo python3 x728pld.py
or
sudo python x728plsd.py
==uninstall x728 script==uninsatll x728 shell script, run 7.4 Add a line at the end of the following commandfile that reads like this: sudo @reboot python3 /home/pi/x729/bat./uninstall_x728py[[File:X729-4.shpng|none]]
For the x728 old shell scriptSave and exit. In nano, you also run this command to remove itdo that by hitting CTRL + X, then re-install the x728 scriptanswering Y and hitting Enter when prompted.
==FAQ=8. How to enable OLED display===Q: We want Refer to [[How to automatically shut down when the battery voltage is lower than a certain specified value, is it possible?enable OLED display]]
A: Please ==Uninstall cript==uninsatll x729 shell script, run the followng following command to achieve this function.(Note: 3V is default shut down voltage value ) python3 /home/pi/x728sudo ./x728v2-asduninstall_x729.py &sh
X728==Other resource==X729-Chip-Specifications:
* [[File:MAX17040-MAX17041.pdf]]
*[https://www.instructables.com/Raspberry-Pi-Tutorial-How-to-Use-a-Buzzer/ Raspberry Pi Tutorial: How to Use a Buzzer]
 Return to [[X728X729]] or [[X729-hardware]]
<!--Add review function! -->