Difference between revisions of "X729-script"

From Geekworm Wiki
Jump to navigation Jump to search
Line 18: Line 18:
 
* RetroPie
 
* RetroPie
 
* Twister
 
* Twister
==Enable I2C==
+
==Install==
 +
Please follow the steps below:
 +
===Enable I2C===
 
Reter to [[How to enable I2C]]
 
Reter to [[How to enable I2C]]
  
Line 44: Line 46:
 
</PRE>
 
</PRE>
  
==Preconfigured <code>config.txt</code>==
+
===Preconfigured <code>config.txt</code>===
 
To install pwm fan, first add <code>dtoverlay=pwm-2chan,pin2=13,func2=4</code> to <code>/boot/config.txt</code> under [all] or the end of file and <code>reboot</code>:
 
To install pwm fan, first add <code>dtoverlay=pwm-2chan,pin2=13,func2=4</code> to <code>/boot/config.txt</code> under [all] or the end of file and <code>reboot</code>:
 
  sudo nano /boot/config.txt
 
  sudo nano /boot/config.txt
Line 53: Line 55:
 
  sudo reboot
 
  sudo reboot
  
==Clone the script==
+
===Clone the script===
 
<pre>
 
<pre>
 
git clone https://github.com/geekworm-com/x729-script
 
git clone https://github.com/geekworm-com/x729-script
Line 61: Line 63:
 
</pre>
 
</pre>
  
==Create the x729-fan service==
+
===Create the x729-fan service===
 
x729-fan service is for pwm fan, the pwm fan will automatically adjust the runing speed according to the temperature of the cpu after the service is started.
 
x729-fan service is for pwm fan, the pwm fan will automatically adjust the runing speed according to the temperature of the cpu after the service is started.
 
<pre>
 
<pre>
Line 72: Line 74:
 
Then the pwm fan starts running.
 
Then the pwm fan starts running.
  
==Create the x729-pwr service==
+
===Create the x729-pwr service===
 
x729-pwr service will be responsible for power management and hardware safe shutdown.
 
x729-pwr service will be responsible for power management and hardware safe shutdown.
 
<pre>
 
<pre>
Line 82: Line 84:
 
</pre>
 
</pre>
  
==Prepair software shutdown script==
+
===Prepair software shutdown script===
 
  sudo cp -f ./x729-softsd.sh            /usr/local/bin/
 
  sudo cp -f ./x729-softsd.sh            /usr/local/bin/
 
Create a alias <code>x729off</code> command to execute the software shutdown
 
Create a alias <code>x729off</code> command to execute the software shutdown
Line 91: Line 93:
 
Then you can run <code>x729off</code> to execute software shutdown.
 
Then you can run <code>x729off</code> to execute software shutdown.
  
==Test safe shutdown==
+
===Test safe shutdown===
 
'''Software safe shutdown command''':
 
'''Software safe shutdown command''':
 
  x729off
 
  x729off
Line 103: Line 105:
 
* press <code>7-8</code> seconds to force shutdown.
 
* press <code>7-8</code> seconds to force shutdown.
  
==Sample File==
+
===Sample File===
 
The example programs are only suitable for advanced players, and you can construct your own usage scenarios according to the example programs.
 
The example programs are only suitable for advanced players, and you can construct your own usage scenarios according to the example programs.
  
Line 128: Line 130:
  
 
Or you can refer to [[How to Install RPi.GPIO Python Library]]
 
Or you can refer to [[How to Install RPi.GPIO Python Library]]
 +
===Enable OLED display===
 +
Refer to [[How to enable OLED display]]
  
==Other==
+
===Other===
 
<code>pwm_fan_control.py</code> is no longer used, and are reserved here for research and use by python lovers only.
 
<code>pwm_fan_control.py</code> is no longer used, and are reserved here for research and use by python lovers only.
 
==Support==
 
==Support==

Revision as of 19:01, 22 July 2023

This is script installation tutorial for X729 shield, it will replace X729 Software installation tutorial, although 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.

The core shell script of X729-script comes from from 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 Terminal.

OS that has been tested

  • Raspbian
  • DietPi
  • Manjaro
  • Ubuntu
  • myNode
  • Umbrel
  • Volumio
  • RetroPie
  • Twister

Install

Please follow the steps below:

Enable I2C

Reter to How to enable I2C

NOTE: sample/bat.py will run with error if you don't enable I2C.

Check & review I2C address:

pi@raspberrypi:~ $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- 36 -- -- -- -- -- 3c -- -- -- 
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --   

Explaination:

#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

Preconfigured config.txt

To install pwm fan, first add dtoverlay=pwm-2chan,pin2=13,func2=4 to /boot/config.txt under [all] or the end of file and reboot:

sudo nano /boot/config.txt

Or (it's /boot/firmware/config.txt if you are using ubuntu os)

sudo nano /boot/firmware/config.txt

Save & exit.

sudo reboot

Clone the script

git clone https://github.com/geekworm-com/x729-script

cd x729-script
chmod +x *.sh

Create the x729-fan service

x729-fan service is for pwm fan, the pwm fan will automatically adjust the runing speed according to the temperature of the cpu after the service is started.

sudo cp -f ./x729-fan.sh                /usr/local/bin/
sudo cp -f ./x729-fan.service           /lib/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable x729-fan
sudo systemctl start x729-fan

Then the pwm fan starts running.

Create the x729-pwr service

x729-pwr service will be responsible for power management and hardware safe shutdown.

sudo cp -f ./x729-pwr.sh                /usr/local/bin/
sudo cp -f x729-pwr.service             /lib/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable x729-pwr
sudo systemctl start x729-pwr

Prepair software shutdown script

sudo cp -f ./x729-softsd.sh             /usr/local/bin/

Create a alias x729off command to execute the software shutdown

echo "alias x729off='sudo /usr/local/bin/x729-softsd.sh'" >>   ~/.bashrc
source ~/.bashrc

Then you can run x729off to execute software shutdown.

Test safe shutdown

Software safe shutdown command:

x729off

DON'T run the 'shutdown' linux command to shut down, otherwise the power of x729 shield will not be shut down.

Hardware safe shutdown operation:

You can verify the safety switch through the onboard switch, press and hold the 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.

  • press on-board button switch 1-2 seconds to reboot
  • press button switch 3 seconds to safe shutdown,
  • press 7-8 seconds to force shutdown.

Sample File

The example programs are only suitable for advanced players, and you can construct your own usage scenarios according to the example programs.

Each example program demonstrates a different function:

read_fan_speed.py: Read the pwm fan running speed;

cd ~x729-script
sudo python3 sample/read_fan_speed.py

pld.py: AC Power supply loss dection script;

cd ~x729-script
sudo python3 sample/pld.py.py

plsd.py: Auto shutdown when AC power loss or power adapter failure script;(Added auto shuntdown function base pld.py)

cd ~x729-script
sudo python3 sample/plsd.py

buzzer.py: demonstrates how the buzzer will sound when power supply is lost, which is very important in some usage scenarios.

cd ~x729-script
sudo python3 sample/buzzer.py

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

Enable OLED display

Refer to How to enable OLED display

Other

pwm_fan_control.py is no longer used, and are reserved here for research and use by python lovers only.

Support

Email: support@geekworm.com

FAQ

Q: How to login volumio via SSH?

1. Enable SSH:

Visit http://volumio.local/dev/, then click ENABLE SSH button

2. URL connection is IP address, and the default user name is volumio, default password is volumio

Q: How to login to Umbrel via SSH? A: ssh umbrel@umbrel.local (or ssh umbrel@). the default user name is umbrel, default password is moneyprintergobrrr
Q: How to login to myNode via SSH? A: URL connection is IP address, and the default user name is admin, default password is bolt
Q: How to login to DietPi via SSH? A: URL connection is IP address, and the default user name is root, default password is dietpi
Q: Is LibreELEC supported? A: TODO

Return to X729

Add your comment
Geekworm Wiki welcomes all comments. If you do not want to be anonymous, register or log in. It is free.