Welkom  

   

Mijn Menu  

   

What's Up  

za mei 18 @12:00AM
ZF Pinkstertrip 2024
   

Wedstrijd  

Geen evenementen
   
   
   
   
   
   
   
   
   
   
   
   
   
   
Welkom, Gasten
  • Pagina:
  • 1
  • 2
  • 3

Onderwerp: E-ink scherm wie-o-wie?

E-ink scherm wie-o-wie? 12 juli 2019 10:47 #1062953

  • rooiedirk
  • rooiedirk's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 6434
Tony2920 schreef :
Een heldere handleiding hoe je zo iets opzet zou ook al volstaan.
Niet zo heel moeilijk. Begin met een openplotter image dan heb je al een werkende signal-k server.
Dan headless opstarten, inloggen met ssh en de sd card read-only maken. https://hallard.me/raspberry-pi-read-only/
Dan een klein shellscript maken dat de overgaat naar rw en de X-serveropstart. Ik heb dit simpel "X" genoemd.
En tenslotten een startup script dat een gemodificeerde openplotter opstart zonder grafische dingetjes. Heb ik "start_no_x" genoemd
#!/usr/bin/python

# This file is part of Openplotter.
# Copyright (C) 2015 by sailoog <https://github.com/sailoog/openplotter>
# 					  e-sailing <https://github.com/e-sailing/openplotter>
# Openplotter is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# any later version.
# Openplotter is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Openplotter. If not, see <http://www.gnu.org/licenses/>.

import wx, subprocess, time, os, threading, sys, platform, requests, ConfigParser, io, json
from shutil import copyfile
from classes.conf import Conf
from classes.language import Language
from classes.SK_settings import SK_settings
    
def starting():
    conf = Conf()
    home = conf.home
    op_folder = conf.op_folder
    conf_folder = conf.conf_folder
    print('starting ;-)')
    delay=int(conf.get('STARTUP', 'delay'))
    opencpn=conf.get('STARTUP', 'opencpn')
    opencpn_no=conf.get('STARTUP', 'opencpn_no_opengl')
    opencpn_fullscreen=conf.get('STARTUP', 'opencpn_fullscreen')
    play=conf.get('STARTUP', 'play')
    sound=conf.get('STARTUP', 'sound')
    node_red=conf.get('STARTUP', 'node_red')
    enable=conf.get('AIS-SDR', 'enable')
    gain=conf.get('AIS-SDR', 'gain')
    ppm=conf.get('AIS-SDR', 'ppm')
    channel=conf.get('AIS-SDR', 'channel')
    pypilot_mode=conf.get('PYPILOT', 'mode')
    webapp=conf.get('PYPILOT', 'webapp')
    webapp_port=conf.get('PYPILOT', 'webapp_port')
    N2K_output=conf.get('N2K', 'output')

    tools_py=[]
    if conf.has_section('TOOLS'):
        if conf.has_option('TOOLS', 'py'):
            data=conf.get('TOOLS', 'py')
            try:
                temp_list=eval(data)
            except:temp_list=[]
            if type(temp_list) is list: pass
            else:	temp_list=[]
            for ii in temp_list:
                tools_py.append(ii)
    
    #######################################################
    
    subprocess.call(['pkill', '-f', '/openplotter/openplotter'])

    print('Checking Signal K password...')
    with open(home+'/.signalk/security.json') as data_file:
        data = json.load(data_file)
    for i in data['users']:
        if i['username'] == 'openplotter' and i['password'] == '$2a$10$quNPtJWG7r1wpEKTHPEjqeiCPXNl3dCTS/D235x92sS2lAgcGCH0O':
            add_warnings_data(_('\n\nSecurity warning: You are using the default password for Signal K server (openplotter).\nPlease change password in Signal K > Security > Users > openplotter.'))
            print(' See warning.')
        else: print(' Done.')

    print('\nChecking Signal K defaults...')
    sk_settings = SK_settings()
    check_start('signalk-server')
    
    if platform.machine()[0:3]=='arm':
        print('\nChecking pi password...')
        out = subprocess.check_output(['sudo', '-n', 'grep', '-E', '^pi:', '/etc/shadow'])
        tmp = out.split(':')
        passw_a = tmp[1]
        tmp = passw_a.split('$')
        salt = tmp[2]
        passw_b = subprocess.check_output(['mkpasswd', '-msha-512', 'raspberry', salt])
        if passw_a.rstrip() == passw_b.rstrip():
            add_warnings_data(_('\n\nSecurity warning: You are using the default password for "pi" user (raspberry).\nPlease change password in Menu > Preferences > Raspberry Pi Configuration.'))
            print(' See warning.')
        else: print(' Done.')

    wifi_default = conf_folder + '/Network/default'
    if not os.path.isdir(wifi_default):
        print('\nChecking WIFI Access Point password...')
        wifi_pass = ''
        try:
            hostapd = open('/etc/hostapd/hostapd.conf', 'r')
            data = hostapd.read()
            hostapd.close()
            i=data.find("wpa_passphrase")
            if i>=0:
                j=data[i:].find("\n")
                if j==0:j=data[i:].length
                line = data[i:i+j]
                sline = line.split('=')
                if len(sline)>1:
                    wifi_pass=sline[1]
        except: pass
        if wifi_pass == '12345678':
            add_warnings_data(_('\n\nSecurity warning: You are using the default WIFI Access Point password.\nPlease change password in OpenPlotter > Network.'))
            print(' See warning.')
        else:
            print(' Done.')
            
    if delay!=0:
        print('\nApplying ')
        time.sleep(delay)
        print(' Done.')		
    
    subprocess.call(['pkill', '-f', 'mqtt_d.py'])
    print('\nStarting MQTT server...')
    subprocess.Popen(['python', op_folder+'/mqtt_d.py'])
    check_start('mqtt_d.py')

    subprocess.call(['pkill', '-f', '1w_d.py'])
    print('\nStarting 1W sensors...')
    subprocess.Popen(['python', op_folder+'/1w_d.py'])
    check_start('1w_d.py')

    subprocess.call(['pkill', '-f', 'diagnostic-N2K-output.py'])
    subprocess.call(['pkill', '-f', 'N2K-server_d.py'])
    if N2K_output == '1':
        print('\nStarting N2K server...')
        subprocess.Popen(['python', op_folder+'/N2K-server_d.py'])
        check_start('N2K-server_d.py')

    subprocess.call(['pkill', '-f', 'SK-base_d.py'])
    print('\nStarting actions and NMEA 0183/N2K generators...')
    subprocess.Popen(['python', op_folder+'/SK-base_d.py'])
    check_start('SK-base_d.py')

    if util_process_exist('node-red'):
        subprocess.call('node-red-stop')
    if node_red=='1':
        print('\nStarting Node-RED...')
        try: 
            subprocess.Popen('node-red-start')
            check_start('node-red')
        except: pass

    subprocess.call(['pkill', '-f', 'read_sensors_d.py'])
    print('\nStarting I2C, SPI, GPIO and Pypilot...')
    subprocess.Popen(['python', op_folder+'/read_sensors_d.py'], cwd=home + '/.pypilot')
    check_start('read_sensors_d.py')

    subprocess.call(['pkill', '-f', 'pypilot_webapp'])
    if webapp=='1' and pypilot_mode == 'basic autopilot':
        print('\nStarting Pypilot Web App...')
        try: subprocess.Popen(['pypilot_webapp', webapp_port])
        except: pass
        check_start('pypilot_webapp')

    subprocess.call(['pkill', '-9', 'aisdecoder'])
    subprocess.call(['pkill', '-9', 'rtl_fm'])
    if enable=='1':
        print('\nStarting SDR AIS reception...')
        frecuency='161975000'
        if channel=='b': frecuency='162025000'
        rtl_fm=subprocess.Popen(['rtl_fm', '-f', frecuency, '-g', gain, '-p', ppm, '-s', '48k'], stdout = subprocess.PIPE)
        aisdecoder=subprocess.Popen(['aisdecoder', '-h', '127.0.0.1', '-p', '10110', '-a', 'file', '-c', 'mono', '-d', '-f', '/dev/stdin'], stdin = rtl_fm.stdout)
        check_start('aisdecoder')

    subprocess.call(['pkill', '-9', 'kplex'])
    print('\nStarting NMEA 0183 Multiplexer...')
    subprocess.Popen('kplex')
    check_start('kplex')

    #print('\nStarting Tools...')
    #index=0
    #for i in tools_py:
        #folder = tools_py[index][2]
        #file = folder+'.py'
        #if i[3]=='1':
            #subprocess.call(['pkill', '-9', file])
            #if os.path.isfile(conf_folder+'/tools/'+folder+'/'+file):
                #subprocess.Popen(['python',conf_folder+'/tools/'+folder+'/'+file])
            #else:
                #subprocess.Popen(['python',op_folder+'/tools/'+folder+'/'+file])	
        #index+=1
    #print(' Done.')

    

    #subprocess.call(['pkill', '-9', 'mpg123'])
    #if play=='1':
        #if sound:
            #try: subprocess.Popen(['mpg123', '-q', sound])
            #except: pass


def check_start(process):
    time.sleep(2)
    if util_process_exist(process):
        print(' Done.')
    else:
        print(' Not Started.')			
		
		
		
def util_process_exist(process_name):
	pids = [pid for pid in os.listdir('/proc') if pid.isdigit()]
	exist = False
	for pid in pids:
		try:
			if process_name in open(os.path.join('/proc', pid, 'cmdline'), 'rb').read():
				exist = True
		except IOError:  # proc has already terminated
			continue
	return exist	

def print_help(): 
	print('This is a part of OpenPlotter software') 
	print('It starts all needed server/services/background processes') 
	print('Options are:') 
	print('startup start')  
	print('startup stop') 
	print('this: startup -h')

if len(sys.argv)>1:
	if sys.argv[1]=='stop':
		subprocess.call(['sudo', 'systemctl', 'stop', 'signalk.service'])
		subprocess.call(['sudo', 'systemctl', 'stop', 'signalk.socket'])
		subprocess.call(['pkill', '-9', 'opencpn'])
		subprocess.call(['pkill', '-9', 'kplex'])
		if util_process_exist('node-red'):
			subprocess.call('node-red-stop')
		subprocess.call(['pkill', '-9', 'aisdecoder'])
		subprocess.call(['pkill', '-9', 'rtl_fm'])
		subprocess.call(['pkill', '-f', '1w_d.py'])
		subprocess.call(['pkill', '-f', 'read_sensors_d.py'])
		subprocess.call(['pkill', '-f', 'pypilot_webapp'])
		subprocess.call(['pkill', '-f', 'mqtt_d.py'])
		subprocess.call(['pkill', '-f', 'SK-base_d.py'])
		subprocess.call(['pkill', '-f', 'N2K-server_d.py'])
		subprocess.call(['pkill', '-f', '/openplotter/openplotter'])
		subprocess.call(['killall', 'diagnostic-'])	
	elif sys.argv[1]=='start': 
		starting()
	elif sys.argv[1]=='-h': print_help() 
else: print_help() 
That's it. Dan start dus openplotter op zonder grafische schil maar met alle tools.
en als je in je ssh login "X" intikt start dus de grafische schil incl openplotter en kan je met vnc allen veranderen. Netjes afsluiten zodat het op de sd-kaart wordt weggeschreven, en klaar.
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 12 juli 2019 12:06 #1062965

Ik heb zeker interesse in die image! Ik moet nu eerst een paar weken op vakantie zonder raspberries, maar kom er zeker op terug. B.v.d.
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 12 juli 2019 12:07 #1062966

WADnWIND schreef :
Met alle dank aan de informatie en meedenken, maar ik denk dat ik toch ga kijken of ik de good-old furuno GPS een nieuwe plek kan geven in het zicht. Die GPS heb ik toch al, en een extra GPS antenne is hier niet echt het probleem ;)
Maar dan heb je wel alleen maar de GPS gegevens, toch?
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 12 juli 2019 13:07 #1062977

  • henkvd
  • henkvd's Profielfoto
  • aanwezig
  • Gebruiker
  • Berichten: 3987
Maar net hoe het schermpje wordt ingesteld van de GP32, de keuze uit maximaal 4 items om weer te geven, minder kan ook, dan worden de vakjes groter.
ODO TRIP TIME POSN POWER SOG COG WPT XTE TTG ETA
Laatst bewerkt: 12 juli 2019 15:56 door henkvd.
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 12 juli 2019 13:13 #1062979

  • Calidris
  • Calidris's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 27105
Noorderzon schreef :
WADnWIND schreef :
Met alle dank aan de informatie en meedenken, maar ik denk dat ik toch ga kijken of ik de good-old furuno GPS een nieuwe plek kan geven in het zicht. Die GPS heb ik toch al, en een extra GPS antenne is hier niet echt het probleem ;)
Maar dan heb je wel alleen maar de GPS gegevens, toch?

Ik wil alleen maar de COG, SOG, localtime. De spanning is toegift. Eigenlijk wil ik niets anders dan een dashbord met snelheidsmeter en koers. De tijd is op het wad ook wan groot belang.

Daarnaast zit een tablet met de kaart en AIS, maar dat is door zonlicht niet altijd goed afleesbaar. Een 10"scherm van 2000cd/m kost slects €1000, maar verbruikt ook serieus stroom.
Ik had korte tijd een 2e tablet met polarnavy er op, perfect! Maar dat verbruikt ook weer meer stroom.

Polarcom vrij indeelbaar:



download.cnet.com/PolarCOM/3000-12940_4-75099303.html

www.polarnavy.com/main/prod1
ZF informatie kanaal Telegram: t.me/zeilersforum
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 13 juli 2019 06:21 #1063123

Ja, Polarcom is fantastisch qua weergave opties. Maar inderdaad meer stroomverbruik om dat te 'displayen'. BTW: zeker op het Wad vind ik de diepte misschien nog wel het meest interessant, maar goed daar gaat de discussie niet over :)
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 13 juli 2019 07:33 #1063140

  • Calidris
  • Calidris's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 27105
Noorderzon schreef :
BTW: zeker op het Wad vind ik de diepte misschien nog wel het meest interessant, maar goed daar gaat de discussie niet over :)

Dat is een kwestie van behoefte en smaak.
Ik heb geen elektronische dieptemeter, maar wel 2 absoluut diepetemeters er naast hangen van eiken. :laugh:

Die werken echt tot 0cm UKC zonder stroomverbruik :lol:
ZF informatie kanaal Telegram: t.me/zeilersforum
Laatst bewerkt: 13 juli 2019 07:34 door Calidris.
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 13 juli 2019 07:57 #1063153

  • Sprokkie
  • Sprokkie's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 3283
Hoe zit het met de refresh rate van E-ink ?
Heb wel eens begrepen dat het even duurt voordat een heel scherm is opgebouwd, is dat dan niet traag voor dit soort oplossingen ?
Mensen zeggen wel eens dat ik troep verzamel; ik noem mezelf liever een industrieel-amateur-archeoloog die probeert waardevolle artefacten te behouden.
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 07 aug 2019 19:43 #1070086

Ik ben nog wat verder gegaan met experimenteren met een e-reader. De al genoemde PocketBook in combinatie met de SignalK server van OpenPlotter (en daarvan het Instrument Panel) vind ik best goed werken. Het is per 'vakje' helemaal in te stellen wat je getoond wilt hebben, in welke indeling en in welk formaat. Ik wil nog graag de labels kunnen wijzigen (moet kunnen lijkt mij, maar het is me nog niet gelukt) en dan kunnen dure losse instrumenten overboord...



Laatst bewerkt: 07 aug 2019 19:46 door Noorderzon.
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 08 aug 2019 07:17 #1070167

Ziet er strak uit!
Heb je al een indruk hoe lang de accu het zo vol houd?
Is er een full screen mogelijkheid?
Onno Harders eigenaar van
www.boatcontroller.nl en www.pcnautic.nl
Prutsen is de meest onderschatte fase van een creatief proces
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 14 aug 2019 06:50 #1072272

Ik kom hier nog op terug, maar de accuduur valt me inmiddels wel tegen. Bij deze PocketBook is geen fullscreen mogelijkheid van de browser voor zover ik het heb uitgezocht.
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 14 aug 2019 07:57 #1072295

  • fer2nand
  • fer2nand's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 1572
XanderB schreef :
Of als je het niet via een e-reader wilt doen, een e-ink scherm op bv de rpi:

www.waveshare.com/7.5inch-e-paper-hat.htm

veel maten en ook met 3 kleuren, dat is nice B)
Laser 777 -> Sailfish18 -> Neptun20 -> Sail Impala -> Hunter Formula One "Omnivoor" -> Eygthene24 "Kookaburra" -> Elvstrom31 "Zeeduif" -> Tasman 48
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 14 aug 2019 09:34 #1072324

Noorderzon schreef :
Ik kom hier nog op terug, maar de accuduur valt me inmiddels wel tegen. Bij deze PocketBook is geen fullscreen mogelijkheid van de browser voor zover ik het heb uitgezocht.
kan je een indicatie geven van de accuduur? is dat enkele uren of een dag?
Onno Harders eigenaar van
www.boatcontroller.nl en www.pcnautic.nl
Prutsen is de meest onderschatte fase van een creatief proces
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 14 aug 2019 17:53 #1072555

  • Calidris
  • Calidris's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 27105
Het is uiteindelijk weer de furuno gp32 geworden met 0,165 A verbruik.

Gepost met de officiële Zeilersforum-app
ZF informatie kanaal Telegram: t.me/zeilersforum
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 14 aug 2019 18:41 #1072582

Zeilprutser schreef :
Noorderzon schreef :
Ik kom hier nog op terug, maar de accuduur valt me inmiddels wel tegen. Bij deze PocketBook is geen fullscreen mogelijkheid van de browser voor zover ik het heb uitgezocht.
kan je een indicatie geven van de accuduur? is dat enkele uren of een dag?
Zes uur houdt de genoemde e-reader het wel uit... maar niet langer dan acht uur.
Alleen ingelogde leden kunnen reageren.

E-ink scherm wie-o-wie? 08 sept 2019 13:32 #1081253

  • hfx
  • hfx's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 590
Al een tijdje aan het kijken naar een extra scherm.
Nu vroeg ik me af of een combinatie van de multiplexer met een Android ereader zoals de Likebook en een app zoals sailtracker zou werken. De reader moet dan wel een dagje op de batterij verder kunnen. Het gaat me alleen om het weergeven van diepte, snelheid enz. Iemand ervaring? Iemand een Android ereader?
Alleen ingelogde leden kunnen reageren.
  • Pagina:
  • 1
  • 2
  • 3
Tijd voor maken pagina: 0.303 seconden
Gemaakt door Kunena
   
   
   
   
© Zeilersforum.nl