DOI
---------- ## Table of contents * [Overview](https://github.com/Moduland/Orangetool#overview) * [Installation](https://github.com/Moduland/Orangetool#installation) * [Usage](https://github.com/Moduland/Orangetool#usage) * [IP Functions](https://github.com/Moduland/Orangetool#ip-functions) * [RAM Functions](https://github.com/Moduland/Orangetool#ram-functions) * [Storage Functions](https://github.com/Moduland/Orangetool#storage-functions) * [Display Functions](https://github.com/Moduland/Orangetool#display-functions) * [System Functions](https://github.com/Moduland/Orangetool#system-functions) * [Issues & Bug Reports](https://github.com/Moduland/Orangetool#issues--bug-reports) * [Supported Device List](https://github.com/Moduland/Orangetool/blob/master/Supported_Device_List.md) * [Dependencies](https://github.com/Moduland/Orangetool#dependencies) * [Contribution](https://github.com/Moduland/Orangetool/blob/master/.github/CONTRIBUTING.md) * [Cite](https://github.com/Moduland/Orangetool#cite) * [Authors](https://github.com/Moduland/Orangetool/blob/master/AUTHORS.md) * [License](https://github.com/Moduland/Orangetool/blob/master/LICENSE) * [Donate](https://github.com/Moduland/Orangetool#donate-to-our-project) * [Changelog](https://github.com/Moduland/Orangetool/blob/master/CHANGELOG.md) * [Code of Conduct](https://github.com/Moduland/Orangetool/blob/master/.github/CODE_OF_CONDUCT.md) ## Overview Control functions for Single-Board computers Tested on [Lubuntu](http://lubuntu.me/)
Open Hub
PyPI Counter
Github Stars
Branch master dev
Travis
Code Quality codebeat badge CodeFactor
---------- By [Moduland Co](http://www.moduland.ir) ## Installation ### Source Code - Download [Version 0.50](https://github.com/moduland/Orangetool/archive/v0.50.zip) or [Latest Source ](https://github.com/Moduland/Orangetool/archive/dev.zip) - `pip3 install -r requirements.txt` or `pip install -r requirements.txt` (Need root access) - `python3 setup.py install` or `python setup.py install` ### PyPI - Check [Python Packaging User Guide](https://packaging.python.org/installing/) - `pip3 install orangetool==0.50` or `pip install orangetool==0.50` (Need root access)
### Conda - Check [Conda Managing Package](https://conda.io/docs/user-guide/tasks/manage-pkgs.html#installing-packages-from-anaconda-org) - `conda install -c sepandhaghighi orangetool` (Need root access) ### Easy install - Run `easy_install --upgrade orangetool` (Need root access) ## Usage ### IP Functions ```python import orangetool #1- local_ip local_ip=orangetool.local_ip() # this function return local ip of board as string #2- global_ip global_ip=orangetool.global_ip() # this function return global ip of board as string #3- internet status=orangetool.internet() #this function check internet connection and return True if internet connection is stable #4- ping ip_status=orangetool.ping(ip_address) #this function check ip and return True if this ip is available in network and False otherwise #5- set_ip orangetool.set_ip("192.168.1.46","eth0") #this function set static ip for system #6- mac mac_dic=orangetool.mac() # return dict of all system net devices mac addresses #7- network_enable status=network_enable("eth0") # enable network device #8- network_disable status=network_disable("eth0") # disable network device ``` ### RAM Functions ```python #1- total ram ram=orangetool.ram_total() #this function return total ram of the board #2- free ram ram=orangetool.ram_free() # this function return how much ram is available in the board #3- ram percentage ram=orangetool.ram_percent() # this function return used ram percentage #4- used percentage ram=orangetool.ram_used() # this function return used ram #5- freeup orangetool.freeup() # To free pagecache, dentries and inodes and return freeuped amount ``` ### Storage Functions ```python #1- mount_status mount_details=orangetool.mount_status("sda1") # This function return mount addresses of input device #2- storage_status mount_details=orangetool.storage_status() # This function return all of the inserted storage and their status #3- unmount orangetool.unmount("/mnt/usb1") # This function unmount input device #4- unmount_all orangetool.unmount_all() #This function unmount all of the mounted devices #5- mount orangetool.mount("sda1","/mnt/usb1") # This function mount input device in input addresses #6- usb_on orangetool.usb_on() # This function enable USB #7- usb_off orangetool.usb_off() # This function disable USB ``` ### Display Functions ```python #1- hdmi_on orangetool.hdmi_on() # turn on hdmi port #2- hdmi_off orangetool.hdmi_off() # turn off hdmi port #3- hdmi_size orangetool.hdmi_size(1280,720) # this function change hdmi display resolution ``` ### System Functions ```python #1- sleep orangetool.sleep() # put system in sleep mode #2- hibernate orangetool.hibernate() # put system in hibernate mode #3- halt orangetool.halt() # poweroff system #4- restart orangetool.restart() # restart system #5- wakeup orangetool.wakeup(day=1,hour=0,minute=1,sync=True) # set rtc wakeuptime #6- get_temp temp=orangetool.get_temp() # this function return cpu temperature as string #7- uptime time=orangetool.uptime() # this function return uptime of system #8- idletime time=orangetool.idletime() # this function return idle of system ( all cores) #9- version orangetool.version() # return orangetool version for test #10- check_update orangetool.check_update() # Return True if new version is available ``` - All of the functions in error state return `Error` String - `local_ip` and `global_ip` originally are available in ipz package [Link](http://github.com/sepandhaghighi/ipz) - RAM functions in this version need psutil package - Running `set_ip` function remotely will freeze your terminal so it's better to set `restart` parameter to True - Running `halt`,`restart`,`hibernate` & `sleep` functions remotely will freeze your terminal - Some of funtions need root access so it's better to run ```sudo -s``` before use this tool ## Issues & Bug Reports Just fill an issue and describe it. We'll check it ASAP! or send an email to [info@orangetool.ir](mailto:info@orangetool.ir "info@orangetool.ir"). ## Dependencies
master dev
## Cite If you use orangetool in your research , please cite this ;-)

Sepand Haghighi. 2017. Moduland/Orangetool: Version 0.23. (July 2017). DOI:http://dx.doi.org/10.5281/zenodo.829797

## Donate to our project If you feel like our project is important can you please support us? Our project is not and is never going to be working for profit. We need the money just so we can continue doing what we do.

Bitcoin :

```1XGr9qbZjBpUQJJSB6WtgBQbDTgrhPLPA```

Payping (For Iranian citizens) :

## License

Moduland Website