All Projects → xswxm → MyIoT

xswxm / MyIoT

Licence: GPL-3.0 license
[MyIoT] A start with personal server for home automation

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to MyIoT

Lib Python
Blynk IoT library for Python and Micropython
Stars: ✭ 140 (+900%)
Mutual labels:  iot-platform, raspberry-pi-3, iot-device
Rpi gpio
Ruby conversion of RPi.GPIO Python module
Stars: ✭ 185 (+1221.43%)
Mutual labels:  raspberrypi, raspberry-pi-3
Debian Pi Aarch64
This is the first 64-bit system in the world to support all Raspberry Pi 64-bit hardware!!! (Include: PI400,4B,3B+,3B,3A+,Zero2W)
Stars: ✭ 2,505 (+17792.86%)
Mutual labels:  raspberrypi, raspberry-pi-3
EEGwithRaspberryPI
Open-Source board for converting RaspberryPI to Brain-computer interface
Stars: ✭ 402 (+2771.43%)
Mutual labels:  raspberrypi, raspberry-pi-3
RPi-TELEBOT
Python based Telegram bot to monitor and control the raspberry pi
Stars: ✭ 19 (+35.71%)
Mutual labels:  raspberrypi, raspberry-pi-3
Aasdk
Library to build AndroidAuto headunit emulator
Stars: ✭ 167 (+1092.86%)
Mutual labels:  raspberrypi, raspberry-pi-3
micrOS
micrOS - mini automation OS for DIY projects requires reliable direct communication
Stars: ✭ 55 (+292.86%)
Mutual labels:  socket, iot-platform
Mobilenet Ssd
MobileNet-SSD(MobileNetSSD) + Neural Compute Stick(NCS) Faster than YoloV2 + Explosion speed by RaspberryPi · Multiple moving object detection with high accuracy.
Stars: ✭ 84 (+500%)
Mutual labels:  raspberrypi, raspberry-pi-3
yamete
Yamete - Hentai downloader in PHP CLI - Easy site downloader PHP system
Stars: ✭ 63 (+350%)
Mutual labels:  raspberrypi, raspberry-pi-3
wor-flasher
Legal utility that runs on RPiOS to flash another SD card with Windows 10/11
Stars: ✭ 451 (+3121.43%)
Mutual labels:  raspberrypi, raspberry-pi-3
TinyChat
💬 Extra small chat client with GUI
Stars: ✭ 15 (+7.14%)
Mutual labels:  socket, raspberrypi
Swift On Balena
Docker images for Swift on Raspberry Pi and other ARM devices from balena's base images.
Stars: ✭ 153 (+992.86%)
Mutual labels:  raspberrypi, raspberry-pi-3
Openauto
AndroidAuto headunit emulator
Stars: ✭ 1,926 (+13657.14%)
Mutual labels:  raspberrypi, raspberry-pi-3
Spypi
An (un-)ethical hacking-station based on Raspberry Pi and Python
Stars: ✭ 167 (+1092.86%)
Mutual labels:  raspberrypi, raspberry-pi-3
Gitlab
GitLab CE (Docker image) for ARM devices, this is a mirror repository of
Stars: ✭ 121 (+764.29%)
Mutual labels:  raspberrypi, raspberry-pi-3
Comitup
Bootstrap Wifi support over Wifi
Stars: ✭ 190 (+1257.14%)
Mutual labels:  raspberrypi, raspberry-pi-3
bluetooth-iot-service-python
This application connects two devices over Bluetooth and allows one to send messages to the other using json. Raspberry Pi Bluetooth interfacing with Linux via RFCOMM BT network
Stars: ✭ 23 (+64.29%)
Mutual labels:  raspberry-pi-3, iot-device
Raspberrypi tempmon
Raspberry pi CPU temperature monitor with many functions such as logging, GPIO output, graphing, email, alarm, notifications and stress testing. Python 3.
Stars: ✭ 52 (+271.43%)
Mutual labels:  raspberrypi, raspberry-pi-3
Homekitcam
A project to make a Raspberry Pi driven, HomeKit Enabled camera.
Stars: ✭ 69 (+392.86%)
Mutual labels:  raspberrypi, raspberry-pi-3
PiHueEntertainment
An application that can handle the Hue Entertainment Areas on a Raspberry Pi
Stars: ✭ 28 (+100%)
Mutual labels:  raspberrypi, raspberry-pi-3

MyIoT

What is myIoT:

  1. myIoT is a solution for home automation, it can be implemented on your Raspberry Pi. It theoretically can enable you to control devices (include other embedded devices connected to the server) and acquire info of these devices.
  2. It is currently based on python (sever part) and Android (Client)
  3. It can process HTTPS and socket.io requests.

Theory:

  1. Client will first send it username and password to Server
  2. The Server will process the message, and then response the Client with a random generated Token if the username and password are correct
  3. The Client can use the token to establish a socket.io connection with the server.
  4. Once the Client is disconnected, the Server will remove the token

Dependencies - server:

  1. flask
  2. flask_socketio
  3. eventlet
  4. OpenSSL
  5. pigpio

Dependencies - client:

  1. zxing: https://github.com/zxing/zxing
  2. SwipeDelMenuLayout: https://github.com/mcxtzhang/SwipeDelMenuLayout

Set up for server part:

  1. Generate certifications with OpenSSL
  2. Set up nginx for our server
  3. Run our server by "python app.py"

Set up for client/app part:

  1. Open our certification we generated with any textediter, copy all the content to any online QR Code generator, and download the QR Code provided by the website if necessary
  2. Open our App and choose 'Update certification' to scan in our certification
  3. Check its settings as the default username is 'uname' and the default password is 'passwd', these settings can be modified in 'system.cfg', and it is also possible for you to change the username and password through our client once it connected to the server
  4. Touch 'Sign in' and it will connect to the server if everything is all alright.
  5. Add your device from the Client App

Explanation of 'system.cfg':

  1. The very first part named 'DEFUALT' is the section for server itself.

Explanation of the 'device.py'

  1. You have to modify this file as the devices/sensors I have are not the same as yours, so remove them as necessary

Explanation of the 'add.py'

  1. You can manually add devices though this script rather from the Client App
  2. Do modify this file before adding your devices

Port forwarding:

  1. You can config your router to open certain ports for the server and it can be accessed over the Internet.
  2. You can also set up a domain for the serer if you have one

Other things:

  1. Change the avatar, etc. as you like
  2. Best Wishes!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].