Having trouble getting started with Raspberry Pi openROV


#1

I am trying to run openrov-cockpit on a Rasperry-Pi 3.
What am I doing wrong, I expect it to keep running so I can try to connect with a browser, but it exits almost immediately.

My steps so far:

[Installed NOOBS, rasbian from 3/3/2017 release.]

[installed latest nodejs, with backtick string interpolation]
sudo apt-get remove node (ham radio thingie?)
curl -sL https://deb.nodesource.com/setup_7x|sudo -E bash -
sudo apt-get update
sudo apt-get install nodejs

[got latest openROV openrov-cockpit]
cd /home/pi
git clone https://github.com/OpenROV/open-cockpit
npm run deploy:dev

[added jessie-backports to apt-get, so I could install ffmpeg]
[added following line to /etc/apt/sources.list]
deb http://ftp.debian.org/debian jessie-backports main
sudo apt-get update
sudo apt-get install ffmpeg

[installed ffmpeg and mjpg-video-server]
npm install ffmpeg
npm install mjpeg-video-server
[edited …src/plugins/mjpeg-video/index.js to have proper path the mjpeg-video-server]

[maybe a few other things I haven’t written down]
[Finally I can run open-cockpit but it exits]

[the following is all one line]
USE_MOCK=true MOCK_HARDWARE=TRUE PLATFORM=raspberrypi MOCK_VIDEO_TYPE=MJPEG LOG_LEVEL=debug configfile=’/tmp/rovconfig.json’ pluginsDownloadDirectory=’/tmp/plugins’ node src/cockpit.js > cock.log

[It gives back the bash prompt in about 30 seconds, here is the output that went to cock.log]

{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:30,“time”:1491243117862,“msg”:“monitoring /home/pi/openrov-cockpit/src/lib/adjustments.json for logging adjustments.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243117871,“msg”:“Set NODE_PATH to: /home/pi/openrov-cockpit/src/lib:”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243118155,“msg”:“Settings”,“configfile”:"/tmp/rovconfig.json",“pluginsDownloadDirectory”:"/tmp/plugins",“LOG_LEVEL”:“debug”,“PLATFORM”:“raspberrypi”,“MOCK_HARDWARE”:“TRUE”,“USE_MOCK”:“true”,“INFINALITY_FT_AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH”:“10”,“XDG_SESSION_ID”:“c3”,“SHELL”:"/bin/bash",“TERM”:“xterm”,“INFINALITY_FT_AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH”:“25”,“INFINALITY_FT_BOLD_EMBOLDEN_X_VALUE”:“0”,“MYVIMRC”:"/home/pi/.vimrc",“SSH_CLIENT”:“192.168.2.103 42198 22”,“OLDPWD”:"/home/pi/openrov-cockpit/src",“SSH_TTY”:"/dev/pts/0",“INFINALITY_FT_CONTRAST”:“0”,“USER”:“pi”,“INFINALITY_FT_GRAYSCALE_FILTER_STRENGTH”:“0”,“LS_COLORS”:“rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.Z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.jpg=01;35:.jpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.axv=01;35:.anx=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.axa=00;36:.oga=00;36:.spx=00;36:.xspf=00;36:”,“INFINALITY_FT_FRINGE_FILTER_STRENGTH”:“0”,“INFINALITY_FT_USE_VARIOUS_TWEAKS”:“true”,“INFINALITY_FT_BRIGHTNESS”:“0”,“INFINALITY_FT_GAMMA_CORRECTION”:“0 100”,“PATH”:"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games",“MAIL”:"/var/mail/pi",“PWD”:"/home/pi/openrov-cockpit",“LANG”:“en_US”,“INFINALITY_FT_FILTER_PARAMS”:“11 22 38 22 11”,“INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE”:“40”,“INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS”:“true”,“INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH”:“10”,“INFINALITY_FT_CHROMEOS_STYLE_SHARPENING_STRENGTH”:“0”,“INFINALITY_FT_STEM_ALIGNMENT_STRENGTH”:“25”,“INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT”:“100”,“HOME”:"/home/pi",“SHLVL”:“2”,“INFINALITY_FT_BOLD_EMBOLDEN_Y_VALUE”:“0”,“LOGNAME”:“pi”,“INFINALITY_FT_GLOBAL_EMBOLDEN_Y_VALUE”:“0”,“SSH_CONNECTION”:“192.168.2.103 42198 192.168.2.95 22”,“INFINALITY_FT_STEM_FITTING_STRENGTH”:“25”,“VIMRUNTIME”:"/usr/share/vim/vim74",“INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS”:“true”,“TEXTDOMAIN”:“Linux-PAM”,“XDG_RUNTIME_DIR”:"/run/user/1000",“INFINALITY_FT_GLOBAL_EMBOLDEN_X_VALUE”:“0”,“VIM”:"/usr/share/vim","":[],“NODE_PATH”:"/home/pi/openrov-cockpit/src/lib:",“COCKPIT_PATH”:"/home/pi/openrov-cockpit/src","$0":"/usr/bin/nodejs src/cockpit.js",“module”:“config”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243118166,“msg”:“config {“debug”:false,“debug_commands”:false,“production”:true,“sample_freq”:20,“dead_zone”:10,“video_frame_rate”:30,“video_resolution”:“SXGA”,“video_device”:”/dev/video0",“video_port”:8090,“video_url”:"/rov/forward-camera",“port”:8080,“serial”:"/dev/ttyO1",“serial_baud”:115200,“dashboardURL”:"",“preferences”:{“stores”:{“argv”:{“type”:“argv”,“store”:{"
":[],"$0":"/usr/bin/nodejs src/cockpit.js"},“mtimes”:{"":1491243118109,"$0":1491243118109},“readOnly”:true,“loadFrom”:null,“logicalSeparator”:":",“options”:{}},“env”:{“type”:“env”,“store”:{“configfile”:"/tmp/rovconfig.json",“pluginsDownloadDirectory”:"/tmp/plugins",“LOG_LEVEL”:“debug”,“PLATFORM”:“raspberrypi”,“MOCK_HARDWARE”:“TRUE”,“USE_MOCK”:“true”,“INFINALITY_FT_AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH”:“10”,“XDG_SESSION_ID”:“c3”,“SHELL”:"/bin/bash",“TERM”:“xterm”,“INFINALITY_FT_AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH”:“25”,“INFINALITY_FT_BOLD_EMBOLDEN_X_VALUE”:“0”,“MYVIMRC”:"/home/pi/.vimrc",“SSH_CLIENT”:“192.168.2.103 42198 22”,“OLDPWD”:"/home/pi/openrov-cockpit/src",“SSH_TTY”:"/dev/pts/0",“INFINALITY_FT_CONTRAST”:“0”,“USER”:“pi”,“INFINALITY_FT_GRAYSCALE_FILTER_STRENGTH”:“0”,“LS_COLORS”:“rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.Z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.jpg=01;35:.jpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.axv=01;35:.anx=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.axa=00;36:.oga=00;36:.spx=00;36:.xspf=00;36:”,“INFINALITY_FT_FRINGE_FILTER_STRENGTH”:“0”,“INFINALITY_FT_USE_VARIOUS_TWEAKS”:“true”,“INFINALITY_FT_BRIGHTNESS”:“0”,“INFINALITY_FT_GAMMA_CORRECTION”:“0 100”,“PATH”:"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games",“MAIL”:"/var/mail/pi",“PWD”:"/home/pi/openrov-cockpit",“LANG”:“en_US”,“INFINALITY_FT_FILTER_PARAMS”:“11 22 38 22 11”,“INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE”:“40”,“INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS”:“true”,“INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH”:“10”,“INFINALITY_FT_CHROMEOS_STYLE_SHARPENING_STRENGTH”:“0”,“INFINALITY_FT_STEM_ALIGNMENT_STRENGTH”:“25”,“INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT”:“100”,“HOME”:"/home/pi",“SHLVL”:“2”,“INFINALITY_FT_BOLD_EMBOLDEN_Y_VALUE”:“0”,“LOGNAME”:“pi”,“INFINALITY_FT_GLOBAL_EMBOLDEN_Y_VALUE”:“0”,“SSH_CONNECTION”:“192.168.2.103 42198 192.168.2.95 22”,“INFINALITY_FT_STEM_FITTING_STRENGTH”:“25”,“VIMRUNTIME”:"/usr/share/vim/vim74",“INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS”:“true”,“TEXTDOMAIN”:“Linux-PAM”,“XDG_RUNTIME_DIR”:"/run/user/1000",“INFINALITY_FT_GLOBAL_EMBOLDEN_X_VALUE”:“0”,“VIM”:"/usr/share/vim","":"/usr/bin/node",“NODE_PATH”:"/home/pi/openrov-cockpit/src/lib:",“COCKPIT_PATH”:"/home/pi/openrov-cockpit/src"},“mtimes”:{“configfile”:1491243118158,“pluginsDownloadDirectory”:1491243118158,“LOG_LEVEL”:1491243118158,“PLATFORM”:1491243118158,“MOCK_HARDWARE”:1491243118158,“USE_MOCK”:1491243118158,“INFINALITY_FT_AUTOHINT_HORIZONTAL_STEM_DARKEN_STRENGTH”:1491243118158,“XDG_SESSION_ID”:1491243118158,“SHELL”:1491243118158,“TERM”:1491243118158,“INFINALITY_FT_AUTOHINT_VERTICAL_STEM_DARKEN_STRENGTH”:1491243118158,“INFINALITY_FT_BOLD_EMBOLDEN_X_VALUE”:1491243118158,“MYVIMRC”:1491243118158,“SSH_CLIENT”:1491243118158,“OLDPWD”:1491243118159,“SSH_TTY”:1491243118159,“INFINALITY_FT_CONTRAST”:1491243118159,“USER”:1491243118159,“INFINALITY_FT_GRAYSCALE_FILTER_STRENGTH”:1491243118159,“LS_COLORS”:1491243118159,“INFINALITY_FT_FRINGE_FILTER_STRENGTH”:1491243118159,“INFINALITY_FT_USE_VARIOUS_TWEAKS”:1491243118159,“INFINALITY_FT_BRIGHTNESS”:1491243118159,“INFINALITY_FT_GAMMA_CORRECTION”:1491243118159,“PATH”:1491243118159,“MAIL”:1491243118159,“PWD”:1491243118159,“LANG”:1491243118159,“INFINALITY_FT_FILTER_PARAMS”:1491243118159,“INFINALITY_FT_STEM_SNAPPING_SLIDING_SCALE”:1491243118159,“INFINALITY_FT_USE_KNOWN_SETTINGS_ON_SELECTED_FONTS”:1491243118159,“INFINALITY_FT_WINDOWS_STYLE_SHARPENING_STRENGTH”:1491243118159,“INFINALITY_FT_CHROMEOS_STYLE_SHARPENING_STRENGTH”:1491243118159,“INFINALITY_FT_STEM_ALIGNMENT_STRENGTH”:1491243118159,“INFINALITY_FT_AUTOHINT_SNAP_STEM_HEIGHT”:1491243118159,“HOME”:1491243118159,“SHLVL”:1491243118159,“INFINALITY_FT_BOLD_EMBOLDEN_Y_VALUE”:1491243118159,“LOGNAME”:1491243118159,“INFINALITY_FT_GLOBAL_EMBOLDEN_Y_VALUE”:1491243118159,“SSH_CONNECTION”:1491243118159,“INFINALITY_FT_STEM_FITTING_STRENGTH”:1491243118159,“VIMRUNTIME”:1491243118159,“INFINALITY_FT_AUTOHINT_INCREASE_GLYPH_HEIGHTS”:1491243118159,“TEXTDOMAIN”:1491243118159,“XDG_RUNTIME_DIR”:1491243118159,“INFINALITY_FT_GLOBAL_EMBOLDEN_X_VALUE”:1491243118159,“VIM”:1491243118159,"_":1491243118159,“NODE_PATH”:1491243118159,“COCKPIT_PATH”:1491243118159},“readOnly”:true,“loadFrom”:null,“logicalSeparator”:":",“whitelist”:[],“separator”:"",“lowerCase”:false},“file”:{“type”:“file”,“store”:{},“mtimes”:{},“readOnly”:false,“loadFrom”:null,“logicalSeparator”:":",“file”:"/tmp/rovconfig.json",“dir”:"/home/pi/openrov-cockpit",“format”:{},“spacing”:2},“defaults”:{“type”:“literal”,“store”:{“deadzone_pos”:50,“deadzone_neg”:50,“smoothingIncriment”:40,“photoDirectory”:"/var/www/openrov/photos",“pluginsDownloadDirectory”:"/usr/share/cockpit/bower_components",“cacheDirectory”:"/usr/share/cockpit/cache",“thrust_modifier_port”:1,“thrust_modifier_vertical”:-1,“thrust_modifier_starbord”:1,“thrust_modifier_nport”:2,“thrust_modifier_nvertical”:-2,“thrust_modifier_nstarbord”:2,“debug”:false,“debug_commands”:false,“production”:true,“sample_freq”:20,“dead_zone”:10,“video_frame_rate”:30,“video_resolution”:“SXGA”,“video_device”:"/dev/video0",“video_port”:8090,“port”:8080,“serial”:"/dev/ttyO1",“serial_baud”:115200,“systemDirectory”:"/opt/openrov/system",“dashboardURL”:"",“USE_MOCK”:false,“video_url”:"/rov/forward-camera",“type”:“literal”},“mtimes”:{},“readOnly”:true,“loadFrom”:null,“logicalSeparator”:":"}},“sources”:[],“version”:“0.8.4”,“formats”:{“json”:{},“ini”:{}}},“systemDirectory”:"/opt/openrov/system"}",“module”:“config”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243120537,“msg”:"!!!/home/pi/openrov-cockpit/src/src/static/bower_components",“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243120782,“msg”:“PLUGIN MAP LOAD:cloud-profile”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243120793,“msg”:“PLUGIN MAP LOAD:globalization”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243120798,“msg”:“Globalization Finder plugin loaded.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243120802,“msg”:“PLUGIN MAP LOAD:input-controller”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243120814,“msg”:“InputController plugin loaded”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243120814,“msg”:“PLUGIN MAP LOAD:platform-manager”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:30,“time”:1491243121036,“msg”:“PLATFORM: Platform shortcut set to: raspberrypi”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243121037,“msg”:“PLUGIN MAP LOAD:plugin-finder”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243122485,“msg”:“Pugin Finder plugin loaded.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243122486,“msg”:“PLUGIN MAP LOAD:plugin-manager”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:30,“time”:1491243122492,“msg”:“Pugin Manager plugin started.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243122494,“msg”:“Plugin Manager loaded preferences: {}”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243122497,“msg”:“PLUGIN MAP LOAD:rov-beacon”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243122503,“msg”:“PLUGIN MAP LOAD:settings-manager”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:30,“time”:1491243122524,“msg”:“The settings-manager plugin.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243122527,“msg”:“Plugin Manager loaded preferences: {“globalization”:{},“plugin-manager”:{}}”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243122528,“msg”:“PLUGIN MAP LOAD:software-update-alert”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243122533,“msg”:“Software update plugin started.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243122538,“msg”:“PLUGIN MAP LOAD:ui-manager”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:30,“time”:1491243122594,“msg”:“UI Manager plugin started.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243122595,“msg”:“Plugin Manager loaded preferences: {}”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:30,“time”:1491243122598,“msg”:“PLATFORM: Loading CPU interface…”,“v”:1}
CPU: Composing RPI cpu interface…
CPU: Loading RPI cpu info…
CPU Info: {“revision”:“a22082”,“serial”:“00000000c7304c5a”}
CPU: Checking details against revision file…
CPU: Loading RPI CPU interface implementation
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:30,“time”:1491243122842,“msg”:“PLATFORM: Loading Board interface…”,“v”:1}
BOARD: Composing RPI board interface…
BOARD: Loading board info from EEPROM…
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:50,“time”:1491243122933,“msg”:“Failed to load board interface: ENOENT: no such file or directory, open ‘/sys/class/i2c-adapter/i2c-1/1-0054/eeprom’”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:30,“time”:1491243122935,“msg”:“PLATFORM: Successfully loaded configuration for a supported platform.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123229,“msg”:“PLUGIN MAP LOAD:about”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:30,“time”:1491243123238,“msg”:“Loaded About plugin”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123240,“msg”:“PLUGIN MAP LOAD:blackbox”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123244,“msg”:“This is where blackbox plugin code would execute in the node process.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123245,“msg”:“PLUGIN MAP LOAD:camera-servo”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123259,“msg”:“CameraServo plugin loaded”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123261,“msg”:“PLUGIN MAP LOAD:classic-control-mapping”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123267,“msg”:“Loaded classic control mapping plugin”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123268,“msg”:“PLUGIN MAP LOAD:connection-health”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123272,“msg”:“This is where connection-health plugin code would execute in the node process.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123273,“msg”:“PLUGIN MAP LOAD:controllerboard2x”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123281,“msg”:“Controllerboard2x plugin loaded”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123282,“msg”:“Controllerboard2x:SystemPower plugin loaded”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123283,“msg”:“Controllerboard2x:SystemEnvironment plugin loaded”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123284,“msg”:“PLUGIN MAP LOAD:data-viewer”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123287,“msg”:“This is where DataViewer plugin code would execute in the node process.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123288,“msg”:“PLUGIN MAP LOAD:diveprofile”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123293,“msg”:“DiveProfile plugin loaded”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123294,“msg”:“PLUGIN MAP LOAD:example”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123297,“msg”:“Example plugin loaded!”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123298,“msg”:“PLUGIN MAP LOAD:externallights”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123303,“msg”:“ExternalLights plugin loaded”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123304,“msg”:“PLUGIN MAP LOAD:geomuxp”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:30,“time”:1491243123327,“msg”:“The geo-mux plugin.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123401,“msg”:“PLUGIN MAP LOAD:host-diagnostics”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123412,“msg”:“This is where HostDiagnostics plugin code would execute in the node process.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123413,“msg”:“PLUGIN MAP LOAD:imu”,“v”:1}
IMU plugin loaded
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123424,“msg”:“PLUGIN MAP LOAD:input-configurator”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123428,“msg”:“PLUGIN MAP LOAD:internet-stream”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123432,“msg”:“This is where the internet streaming plugin code would execute in the node process.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123433,“msg”:“PLUGIN MAP LOAD:lasers”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123437,“msg”:“Laser plugin loaded”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123439,“msg”:“PLUGIN MAP LOAD:lights”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123447,“msg”:“Lights plugin loaded”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123448,“msg”:“PLUGIN MAP LOAD:local-media-hardware”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123451,“msg”:“This is where the local mededia plugin code would execute in the node process.”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123452,“msg”:“PLUGIN MAP LOAD:mjpeg-video”,“v”:1}
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:30,“time”:1491243123463,“msg”:“Loaded Cockpit Plugin: MjpgStreamer”,“v”:1}
LaunchOpts: nice,-1,node,/home/pi/openrov-cockpit/src/plugins/mjpeg-video/…/jpeg-video-server/index.js,-p,8300,-c,/etc/openrov/STAR_openrov_net.chained.crt,-k,/etc/openrov/star_openrov_net.key
{“pid”:5174,“hostname”:“rpi”,“name”:“main”,“level”:20,“time”:1491243123464,“msg”:“PLUGIN MAP LOAD:mjpeg-video-server”,“v”:1}


Openrov 2.x what is the function of U8?
Error compiling: i2c.cc fatal error!
#2

Thanks to those who looked in on this.

I have progressed. My problem was that the mjpeg-video-server I installed just wasn’t compatible and had a process.exit(2) that left no console trace in the openrov-cockpit environment.

I have now replaced mjpeg-video-server with raspberry-pi-mjpeg-server and the program starts listening on port 8080, and when I connect I get the welcom display.

Now to get the raspberry-pi-mjpeg-server to actually work

Any other quidance would be welcome, but I will mark this solved (if I can find out how).


#3

Would it be possible to extend what you have with Cockpit running on the RPi3 to provide a standalone RPi3 Trident ( or OpenROV 2.* ? ) development environment without any other Trident HW?

A couple reference links where they talk of running Cockpit with mock hw interfaces :

How to develop without the embedded computer :

and from Charles Cross :
https://c9.io/spiderkeys/openrov-cockpit USE_MOCK
On a beaglebone: If you’re just getting started and want to have working environment for the OpenROV Cockpit.

Then on the RPi3, if the Cockpit interface is changed from the wired Ethernet to the RPi3 WiFi AP, would I be able to connect with the Chrome browser just like connecting to the Trident WiFi Topside Module?

It seems like this would give backers a headstart developing payload UI and communication interfaces.


#4

webhoppery:

Yes, we are developing a home-made physical ROV, using the RPi3. Used the Pi connected to a monitor/mouse/keyboard just long enough to connect to my wifi (getting the SSID and password saved into the system). It is easier if you can get your router to consistently give the Pi the same IP-address. Also used raspi-config to enable SSH, and disconnect SERIAL from the console but leaving it enabled. (This lets me connect an arduino on /dev/ttyS0).

Now I do all my work using Putty over SSH connected via the WiFi

There is no problem connecting Chrome (yes, it was not happy with Firefox). Just specify the the WiFi IP-address with :8080 for the port. Eventually we will need the tether, but looks like most all development can be done without it.

I did have to fix up src/sys-plugins/platform-manager/platforms/reaspberrypi/… to not use a connected eeprom and read from a .json file instead.

Have connected an arduino sending pseudo info similar to what the MOCK platform does.
b0be


#5

I copied / pasted your cmd line and the log file had the error you mentioned about trying to read from EEPROM. Is your fix something easy to share?

Also, is it MOCK_HARDWARE or HARDWARE_MOCK ?
What’s in the cmd line you used vs the cmd line in DEV-HOWTO.md?

I installed Node.js v6.10.3 and I noticed you were using v7. Should I be using v7.*?

I’m confused about simulating the mock / pseudo data :

  1. The openrov-cockpit/docs/DEV-HOWTO.md prerequisites state: You’re not running on ARM.
  2. But the cmd line you used has the MOCK_* flags which I thought generated data internally.
  3. But you have the Arduino sending pseudo data, so wouldn’t that be good enough to satisfy checks to allow the Cockpit to display (if the video is somehow? disabled )?

Sorry to keep bugging you but right now I’d be satisfied to see a Welcome screen!

Thanks
Bill


#6

Dear Bill:

How to run openrov on a naked raspberry pi.

There are 3 attached files.

  1. webhoppery.txt – shows how I went from raw raspberry pi jessie
    distribution to working rover code good for further development.

  2. orov-rpi.tar.gz – archive that when unpacked from the
    ~/openrov-cockpit/ directory will replace 2 files and add another. It
    containins the following three files:
    src/system-plugins/platform-manager/platforms/raspberrypi/board.js
    src/system-plugins/platform-manager/platforms/raspberrypi/boards/rev10/b0be-eeprom.json
    src/system-plugins/platform-manager/platforms/raspberrypi/boards/rev10/setup.js

The first and third replace existing files, and the second is a new file.

These read the .json file rather than reading an attached eeprom. They
also don’t connect to and read the the LM75 (an i2C connected
thermometer chip). They also switch to reading from the serial port
/dev/ttyS0 (see note 3. below). They also use the SerialBridge plugin
(included in the git clone) rather than the TridentBridge plugin.

  1. b0beOpenROV2x.zip – archive to unpack in your arduino sketches
    directory to give you a sketch folder and .ino file that provides serial
    output you can connect to the raspberry pi. At the top of this code see
    the diagram that describes the pin connections. (Also run a jumper from
    a 3.3V to the A0 pin (both on the arduino) to have live voltage show up
    in the “Battery” widgit. Not necessary to do this)

b0beOpenROV2x.zip (3.14 KB)

webhoppery.txt (2.55 KB)


Openrov 2.x what is the function of U8?
#7

In my last reply one of the files didn’t show up. Here it is.
b0be


#8

As mentioned above, here are the files to be put in these places:

src/system-plugins/platform-manager/platforms/raspberrypi/board.js
src/system-plugins/platform-manager/platforms/raspberrypi/boards/rev10/b0be-eeprom.json
src/system-plugins/platform-manager/platforms/raspberrypi/boards/rev10/setup.js

(I was unable to deliver a .tar.qz file to this post) So here are the files:

orov-rpi.zip (3.3 KB)

b0be


#9

Thanks Bob! I’ll let you know how it goes.
Bill


#10

Hi Bob,

You’re writeup was great! The Cockpit is displaying in Chrome on a Win10 laptop and Android phone and tablet.

Dynamics are showing in Heading, Depth, VS, Battery and Switches (enable / disable). I’m not sure if that’s all I should be seeing.

No video : The PiCam raspivid worked in the Jessie GUI terminal but I haven’t seen the PiCam LED come on in Cockpit. The Camera icon at the top of the Cockpit display doesn’t react to the mouse but there’s a little yellow dot by it. I’m going back and check if I did the installs right.

The Arduino Sketch compiled fine so I’m going to try that and see if things are different. with sudo PLATFORM=raspberrypi node src/cockpit > cockpit.log.

I thought your writeup might be helpful to others so I mentioned it to Nima in support.

Thanks again,
Bill


#11

i am getting following error i am not getting video in the cockpit. i am using raspberry pi 3 with usb camera.

sudo PLATFORM=raspberrypi node src/cockpit > cockpit.log
/home/pi/openrov-cockpit/node_modules/bower/lib/node_modules/q/q.js:155
throw e;
^

Error: Package openrov-plugin-deprecated not found
at createError (/home/pi/openrov-cockpit/node_modules/bower/lib/util/createError.js:4:15)
at /home/pi/openrov-cockpit/node_modules/bower/lib/core/resolverFactory.js:206:23
at _fulfilled (/home/pi/openrov-cockpit/node_modules/bower/lib/node_modules/q/q.js:834:54)
at self.promiseDispatch.done (/home/pi/openrov-cockpit/node_modules/bower/lib/node_modules/q/q.js:863:30)
at Promise.promise.promiseDispatch (/home/pi/openrov-cockpit/node_modules/bower/lib/node_modules/q/q.js:796:13)
at /home/pi/openrov-cockpit/node_modules/bower/lib/node_modules/q/q.js:604:44
at runSingle (/home/pi/openrov-cockpit/node_modules/bower/lib/node_modules/q/q.js:137:13)
at flush (/home/pi/openrov-cockpit/node_modules/bower/lib/node_modules/q/q.js:125:13)
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)


#12

Hi,

I’m using the following cmd line on a RPi3. It always seems to crash within 15 seconds, but I rerun it and it runs for hours. No video, but the gauges are displaying MOCK dynamic data.

sudo MOCK=true HARDWARE_MOCK=true PLATFORM=mock node src/cockpit > cockpit.log

I don’t have a USB camera… Maybe check out the MOCK_VIDEO_* in the src/DEV-HOWTO.md?

Also, if you’re trying to get a headstart on the Trident, I heard there is no code overlap between the 2.x series code and Trident code. The 2.x code is all that’s currently available on github.com/OpenROV/openrov-cockpit.git.

Bill


#13

Hi
i have tried the following cmd and i got this error.
sudo USE_MOCK=true DEV_MODE=true HARDWARE_MOCK=true MOCK_VIDEO_TYPE=GEOMUX MOCK_VIDEO_HARDWARE=true configfile=’/tmp/rovconfig.json’ pluginsDownloadDirectory=’/tmp/plugins’ env plugins__ui-manager__selectedUI=‘classic-ui’ node src/cockpit.js

{“pid”:1017,“hostname”:“raspberrypi”,“name”:“main”,“level”:50,“time”:1519381246996,“msg”:“PLATFORM: Failed to load platform details for this system: Failed to load platform name”,“v”:1}
{“pid”:1017,“hostname”:“raspberrypi”,“name”:“main”,“level”:50,“time”:1519381247007,“msg”:"Error starting plugins: ",“type”:“Error”,“stack”:“TypeError: Cannot set property ‘name’ of null\n at Promise.try.then (/home/pi/openrov-cockpit/src/lib/PluginLoader.js:62:37)\n at tryCatcher (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/util.js:16:23)\n at Promise._settlePromiseFromHandler (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/promise.js:510:31)\n at Promise._settlePromise (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/promise.js:567:18)\n at Promise._settlePromise0 (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/promise.js:612:10)\n at Promise._settlePromises (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/promise.js:691:18)\n at Promise._fulfill (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/promise.js:636:18)\n at Promise._resolveCallback (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/promise.js:431:57)\n at Promise._settlePromiseFromHandler (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/promise.js:522:17)\n at Promise._settlePromise (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/promise.js:567:18)\n at Promise._settlePromise0 (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/promise.js:612:10)\n at Promise._settlePromises (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/promise.js:687:18)\n at Async._drainQueue (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/async.js:138:16)\n at Async._drainQueues (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/async.js:148:10)\n at Immediate.Async.drainQueues (/home/pi/openrov-cockpit/node_modules/bluebird/js/release/async.js:17:14)\n at runCallback (timers.js:672:20)”,“v”:1}
Aborted


#14

Have you been able to ever get the welcome / splash screen or the gauges displaying MOCK dynamic data?

I just followed the instructions in the webhoppery.txt link bob_ellis provided above.
He also provided the links to edited files to replace existing files, and the new b0be-eeprom.json file to add since there’s no configuration eeprom to read from.

Maybe the error “PLATFORM: Failed to load platform details for this system: " is related to the b0be-eeprom.json file not being there?

Sorry I’m not any more help, but this has been one big learning exercise for me.


#15

I too have been seeing this and not figured it out yet. It may have to do with changing the size of my browser window, but not sure. I hope to have time to dig into it soon. Does anyone else have knowledge?

A reminder, if you are changing/adding/deleting/renaming plugins especially in the tree src/plugins/…
you need to “sudo rm -rf /usr/share/cockpit”. First rerun after that will take a little bit longer as the directory tree has to be re-searched, but otherwise it won’t see your changes.