Ik ben bezig om een aantal relais aan te sturen via een Raspberry Pi.
Dit werkt prima.
Alleen ik zou dit graag via mijn android mobiel aan willen sturen.
Daarbij maak ik gebruik van paramiko voor een ssh verbinding en kivy voor de interface.
Het geheel werkt op mijn laptop.
Ik heb het geheel gecompileerd met buildozer, dat lijkt ook allemaal goed te gaan.
Alleen mijn mobiel breekt de app af zodra ik een connect probeer.
Heeft iemand een idee wat er niet goed gaat, of hoe de logs uit kan te lezen
van mijn mobiel.
Hierbij de python code:
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
#
# ----- GEBRUIKTE SOFTWARE --------------------------------------------------------------------------------------------------
#
# python http://www.python.org
# kivy http://www.kivy.org
# paramiko http://www.paramiko.org/
#
# ----- IMPORT LIBRARIES ----------------------------------------------------------------------------------------------------
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.switch import Switch
import paramiko
# ----- SCHAKELAARAPP CLASS --------------------------------------------------------------------------------------------------------
class SchakelaarApp(App):
def build(self):
"""
schakelaar
"""
# maak connectie met de ssh server
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# hier gaat ie mis !!!!!
ssh.connect(hostname='192.168.1.12', username = 'pi', password = 'paswoord', port=22, timeout=20)
# maak een grid layout voor de verschillende schakelaars
grid = GridLayout(cols=2, padding=20, spacing=20, row_default_height=30, row_force_default=True, pos_hint={'y':-.1})
# voeg de naam van de schakelaar toe
grid.add_widget(Label(text='Lamp tuinpad:', markup=True, font_size='18sp'))
# voeg de schakelaar toe in de uitgelezen stand
switch = Switch(active=True)
# voeg de switch toe aan de grid layout
grid.add_widget(switch)
return grid
# ----- HOOFD PROGRAMMA -------------------------------------------------------------------------------------------------------
if __name__ == '__main__':
SchakelaarApp().run()
# ------------------------------------------------------------------------------------------------------------------------------
Dit werkt prima.
Alleen ik zou dit graag via mijn android mobiel aan willen sturen.
Daarbij maak ik gebruik van paramiko voor een ssh verbinding en kivy voor de interface.
Het geheel werkt op mijn laptop.
Ik heb het geheel gecompileerd met buildozer, dat lijkt ook allemaal goed te gaan.
Alleen mijn mobiel breekt de app af zodra ik een connect probeer.
Heeft iemand een idee wat er niet goed gaat, of hoe de logs uit kan te lezen
van mijn mobiel.
Hierbij de python code:
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
#
# ----- GEBRUIKTE SOFTWARE --------------------------------------------------------------------------------------------------
#
# python http://www.python.org
# kivy http://www.kivy.org
# paramiko http://www.paramiko.org/
#
# ----- IMPORT LIBRARIES ----------------------------------------------------------------------------------------------------
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.switch import Switch
import paramiko
# ----- SCHAKELAARAPP CLASS --------------------------------------------------------------------------------------------------------
class SchakelaarApp(App):
def build(self):
"""
schakelaar
"""
# maak connectie met de ssh server
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# hier gaat ie mis !!!!!
ssh.connect(hostname='192.168.1.12', username = 'pi', password = 'paswoord', port=22, timeout=20)
# maak een grid layout voor de verschillende schakelaars
grid = GridLayout(cols=2, padding=20, spacing=20, row_default_height=30, row_force_default=True, pos_hint={'y':-.1})
# voeg de naam van de schakelaar toe
grid.add_widget(Label(text='Lamp tuinpad:', markup=True, font_size='18sp'))
# voeg de schakelaar toe in de uitgelezen stand
switch = Switch(active=True)
# voeg de switch toe aan de grid layout
grid.add_widget(switch)
return grid
# ----- HOOFD PROGRAMMA -------------------------------------------------------------------------------------------------------
if __name__ == '__main__':
SchakelaarApp().run()
# ------------------------------------------------------------------------------------------------------------------------------