Git Product home page Git Product logo

dariogio / lysmarine_gen Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bareboat-necessities/lysmarine_gen

0.0 0.0 0.0 11.01 MB

With BBN OS you can build a central boat computer. BBN OS is free and open source. It is based on commonly used community supported open source projects such as SignalK, PyPilot, OpenCPN, and others. BBN OS graphical user interface will let you build a cockpit front-end to all functionality of the OS from chartplotting, dashboards, weather, etc.

Home Page: https://github.com/bareboat-necessities/lysmarine_gen

Shell 44.91% JavaScript 9.97% CSS 13.69% HTML 30.11% Python 1.32%

lysmarine_gen's Introduction

What is LysMarine BBN Edition

This is the fork of the original LysMarine https://github.com/lysmarine/lysmarine_gen by Frederic Guilbault. It is based on the LysMarine OS, but differs from it in a number of included applications, and the UI features. Now it is a distinct OS image.

What started as an effort to build a marine linux OS turned out into much more interesting. Our focus was to build a marine computer OS to be used on boats for the navigation and on touch screens in a cockpit of a boat. By nature marine navigation is very demanding. Much more demanding than a car computer. There was a need for:

  • good touch screen support (even with small screens) (GTK3, budgie)
  • ability to easily connect to a variety of sensors GPS, IMU, environment (temp, pressure, humidity, wind), autopilot, bilge water level, and much more (SignalK/Kplex NMEA are built-in)
  • ability to control other hardware (started with controlling steering of the boat and autopilot). We have pyPilot built-in.
  • weather information retrieving, processing, mapping and visualizing (it's often a matter of survival on a boat)
  • weather routing and climatology
  • a media player (who doesn't want to play some music being on a boat, so here we go with MPD player, Mopidy and more)
  • internet connectivity, VPN, cellular 4G/LTE, satellite, Wi-Fi
  • celestial navigation (brought us astronomy software, so we package Stellarium and more)
  • cartography and navigation (We have OpenCPN, FreeBoard-SK, AvNav chart plotters). While our focus was marine charts, our distribution can be easily adapted for a car navigation system.
  • software defined radio SDR (HAM radio community might take some interest), AIS, weather (NOAA, weather fax, NavTex), Inmarsat Fleet
  • satellite internet via Iridium
  • low power consumption (so we built it for the ARM based processors)

We would think our distribution can serve as a basis for others interested to build either:

  • Car specialized Linux distribution
  • Weather station under Linux
  • Home automation Linux distribution
  • Astronomy related Linux distribution
  • Music/Media player Linux distribution
  • HAM radio SDR Linux distribution
  • Generic Linux touch tablet on ARM raspberry OS
  • WiFi router

The code for building this distribution is easily customizable following instructions below. You do not have to build it on your own ARM hardware. The process described below explains how you can make it to build it directly from your source code on GitHib via CircleCi and distribute it on CloudSmith or other place. It doesn't take that much effort or coding, some dedication required (surely).

Another useful resource is our previous project (see: https://bareboat-necessities.github.io/my-bareboat/). Although it is based on OpenPlotter it still is useful to understand hardware and software set up of your marine raspberry pi.

Getting Started

See: https://bareboat-necessities.github.io/my-bareboat/bareboat-os.html

System Requirements

Download

To get start it's easier to download pre-built image using the links below (or you can build your own following instructions in the next chapter). CircleCI is the tool which is used to create the OS image.

NOTE: Do not forget to set WiFi country after the installation.

Binaries are downloadable from: https://cloudsmith.io/~bbn-projects/repos/bbn-repo/packages/?q=lysmarine

Hosted By: Cloudsmith

Package repository hosting is graciously provided by Cloudsmith. Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that enables your organization to create, store and share packages in any format, to any place, with total confidence.

If Cloudsmith download link does not work for you, check Getting Started Guide. It contains an alternative download location.

Passwords

Default passwords are set to 'changeme', which you are supposed to change. Default user name in login screens is 'user'.

Screenshots

Lysmarine BBN Screen1

Lysmarine BBN Screen2

Lysmarine BBN Screen3

Lysmarine BBN Screen4

Brief list of applications included:

Navigation, Instruments

Internet

  • Chromium Web Browser
  • Email Client
  • Internet Messaging Client Empathy
  • FB Messenger Caprine
  • Youtube App
  • Facebook App
  • Internet Weather
  • Dockwa (Mooring and Marina Booking App)
  • NauticEd (Sailing Education)
  • Lightning Maps
  • Windy
  • Marine Traffic

Multimedia

Radio

Protocols

  • Samba (Windows Networking)
  • CUPS (printing)
  • VNC (remote desktop)
  • SSH (remote shell)
  • NMEA 0183
  • SocketCAN, NMEA 2000, can-utils
  • OpenVPN (Virtual Private Networking)
  • MQTT Mosquitto for IoT (to talk to Sonoff smart switches to switch on several devices like Radar, Windlass, Bow Thruster, Lights)
  • WiFi (Access Point and Client)
  • SignalK
  • Seatalk 1, GPIO
  • ModBus (to talk to Victron Venus OS, etc)
  • Timeshift (backups), rsync
  • PPP, wvdial, picocom for satellite modem support
  • I2C tools
  • 1-Wire (sensors i.e. for temperature, humidity, pressure, tank levels)
  • LoRaWan
  • WeatherFax
  • NOAA Weather
  • NavTex
  • Inmarsat Fleet
  • WinLink
  • SMS (Using Gammu)
  • Bluetooth (File Transfer)
  • AirPlay (via shairport-sync)

Tools

Data

Add-ons via install scripts

Steps to create your own LysMarine BBN Edition image

  • Create GitHub account
  • Fork this project on GitHub
  • Create CircleCi account (Use logging in with GitHub)
  • Register .circleci/config.yml in CircleCi
  • Create CloudSmith account (Use logging in with GitHub)
  • Import CloudSmith key into circleci project settings (via env variable)
  • Edit publish-cloudsmith.sh options in .circleci/config.yml to put location of your cloudsmith repository and push the changes into github
  • After circleci build completes it will create and upload image to cloudsmith
  • You can burn this image using RaspberryPi imager to SD card and use that SD card to boot your raspberry Pi
  • You can edit files inside install-scripts directory push them into github and customize your image.

License

Lysmarine scripts distributed under GPLv3

Copyright © 2020 Frederic Guilbault

Copyright © 2021-2022 mgrouch

Included content copyrighted by other entities distributed under their respective licenses.

lysmarine_gen's People

Contributors

mgrouch avatar fredericguilbault avatar xecdesign avatar samtygier avatar hhromic avatar cfstras avatar davesteele avatar sam3d avatar free-x avatar bjsowa avatar knghtbrd avatar rkubes avatar andig avatar tjstyle avatar louismt avatar jamesruan avatar jacen92 avatar dcwangmit01 avatar bjpirt avatar andrewmichaelsmith avatar gudata avatar chzchzchz avatar tjrana avatar staroselskii avatar rschulman avatar rickdoesdev avatar gadgetoid avatar martignoni avatar m-roberts avatar kr15h avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.