<?xml version="1.0" encoding="UTF-8"?> | |||||
<project version="4"> | |||||
<component name="ProjectRootManager" version="2" project-jdk-name="smart_garden_env" project-jdk-type="Python SDK" /> | |||||
</project> |
<module type="PYTHON_MODULE" version="4"> | <module type="PYTHON_MODULE" version="4"> | ||||
<component name="NewModuleRootManager"> | <component name="NewModuleRootManager"> | ||||
<content url="file://$MODULE_DIR$" /> | <content url="file://$MODULE_DIR$" /> | ||||
<orderEntry type="jdk" jdkName="smart_garden_env" jdkType="Python SDK" /> | |||||
<orderEntry type="sourceFolder" forTests="false" /> | <orderEntry type="sourceFolder" forTests="false" /> | ||||
</component> | </component> | ||||
</module> | </module> |
# projektarbeit_duelger_waldhauser_caliskan | |||||
# Smart Garden Project | |||||
repository to manage all files related to the makeathon farm bot project (Software + Documentation). | |||||
- Repository to manage all files related to the Makeathon farm bot project (Software + Documentation). | |||||
To use the same module versions in backend and raspi communication, a conda environment was created | |||||
Basic conda usages: https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html | |||||
## Folders: | |||||
- /software: contains all software components | |||||
- /software/backend: server, database and mqtt broker sourcecode | |||||
- /software/robot: raspi and robot sourcecode | |||||
- /software/frontend: Website sourcecode | |||||
## How to develop: | |||||
- Installation of venv in usefull-stuff.md file |
certifi==2022.12.7 | |||||
charset-normalizer==3.0.1 | |||||
click==8.1.3 | |||||
Flask==2.2.3 | |||||
idna==3.4 | |||||
itsdangerous==2.1.2 | |||||
Jinja2==3.1.2 | |||||
MarkupSafe==2.1.2 | |||||
requests==2.28.2 | |||||
urllib3==1.26.14 |
# Some useful stuff | |||||
## GIT | |||||
- Command line tool: https://git-scm.com/ | |||||
- Useful commands: https://www.syncfusion.com/blogs/post/top-10-git-commands-every-developer-should-know.aspx | |||||
- Nice GUI: https://www.sourcetreeapp.com/ | |||||
## Python | |||||
### Python Virtual Environments | |||||
Create Virtual Environment: | |||||
```python -m venv .venv``` | |||||
Activate VE: | |||||
- ```.venv/Scripts/activate.bat``` (Win CMD) | |||||
- ```.venv/Scripts/activate.ps1``` (Win PS) | |||||
- ```source .venv/bin/activate``` (Linux/mac bash) | |||||
Deactivate VE: | |||||
- ```.venv/Scripts/deactivate.bat``` (Win CMD) | |||||
- ```.venv/Scripts/deactivate.ps1``` (Win PS) | |||||
- ```deactivate``` (Linux/mac bash) | |||||
Install requirements.txt: | |||||
```pip install -r requirements.txt``` | |||||
Freeze requirements | |||||
```pip freeze > requirements.txt``` | |||||
### Python Flask | |||||
https://flask.palletsprojects.com/en/2.2.x/quickstart/#a-minimal-application | |||||
```flask --app python-flask-server run``` to run server on localhost | |||||
```flask --app python-flask-server run --host=192.168.1.x``` to define own host | |||||
To send requests to your service, https://www.postman.com/downloads/ is a good application. | |||||
## MQTT | |||||
- https://www.youtube.com/watch?v=EIxdz-2rhLs&ab_channel=RuiSantos | |||||
- MQTT Explorer: https://mqtt-explorer.com/ | |||||
- MQTT Broker: https://randomnerdtutorials.com/how-to-install-mosquitto-broker-on-raspberry-pi/ | |||||
- Maybe this tool could be helpful to manage the logic: https://nodered.org/ | |||||
- how we can use MQTT with Arduino IDE: https://randomnerdtutorials.com/esp32-mqtt-publish-subscribe-arduino-ide/ | |||||
## Matter | |||||
- https://github.com/project-chip/connectedhomeip | |||||
- https://blog.espressif.com/announcing-matter-previously-chip-on-esp32-84164316c0e3 |