OpenMarine
UK OpenPlotter Build - Printable Version

+- OpenMarine (https://forum.openmarine.net)
+-- Forum: OpenPlotter (https://forum.openmarine.net/forumdisplay.php?fid=1)
+--- Forum: How I did it (https://forum.openmarine.net/forumdisplay.php?fid=6)
+--- Thread: UK OpenPlotter Build (/showthread.php?tid=2371)



UK OpenPlotter Build - northwind - 2020-02-24

I am in the process of changing boats, moving from a larger lift keel yacht to a trailer sailer. The new boat is bare, which has given me the opportunity to start the electronics from scratch.

I have finally finished my first build of the my Openplotter computer, I say first build as I would like to build a custom PCB for the interfaces to the Pi, but I wanted to get everything together in one box and tested before I finalise my PCB design.

The case I am using is one by Western digital, they made a few add ons for Raspberry Pi for about a year, and I brought up a few bits when they finished their pi range.
   

I decided that I would fix on a form factor and work to make everything fit within it, so I removed the case from the DVB stick and wired it into a usb cable to save space.

The board in the top left is an opensource seatalk to NMEA board, running a PIC processor.

The two OLED displays were kicking around and I thought would add a nice feature of having some status info onboard, there is also a nice feature of the case that allows them to be seen through the cover:
   

       

The displays are driven from Node-red, more work on this side of things is due, so I can use the reset button to change what they show, and also reboot the Pi.

I am waiting on a number of bits from China to enable me to carry on with the next stage of the build, this includes custom PCBs for the autohelm remote and for relay control and buttons.

display wise, I have a couple of options, one is the 7" raspberry pi display, which I will mount separately to the case. I also have an old laptop display which is obviously a bit bigger!

I will update this thread as I build more of the components.


RE: UK OpenPlotter Build - Sailoog - 2020-02-24

yeahhhh Heart


RE: UK OpenPlotter Build - PaddyB - 2020-02-24

(2020-02-24, 05:32 PM)northwind Wrote: The board in the top left is an opensource seatalk to NMEA board, running a PIC processor.

Looks interesting build :Cool
Are there any links to the opensource seatalk/nmea board?


RE: UK OpenPlotter Build - northwind - 2020-02-24

(2020-02-24, 05:50 PM)PaddyB Wrote:
(2020-02-24, 05:32 PM)northwind Wrote: The board in the top left is an opensource seatalk to NMEA board, running a PIC processor.

Looks interesting build :Cool
Are there any links to the opensource seatalk/nmea board?

The board is a YAPP.. its one of Angus Mcdoon's.. aka John from YBW


RE: UK OpenPlotter Build - northwind - 2020-02-26

So first delivery from China today..

   

4 boards, all look ok, apart from an error with the polarity on the power supply module.. my fault for not checking the part in easyeda, easily fixed for now.


RE: UK OpenPlotter Build - northwind - 2020-02-27

So to the first of my new PCBs

I have decided to use ESPeasy for general control, as its easy to flash and config is fast.

I had been pondering for a while how best to connect an esp8266 to a relay board. If you use the pins on the esp, you can get some chatter on the relays when the board is powered up. Also I wanted to get as much bang for my buck on the pcb board creation, so I have tried to make my boards multi use. This board uses an MCP23017 port expander for the main GPIO control, giving it plenty of IO.

So its first purpose is to be soldered directly to a 8 port relay board for control:
   

This provides a nice and simple means of joining these boards together.

Software is simple to setup, the esp8266 is flashed with espEasy and then you connect to its wifi and do the basic config. The MCP23017 is a standard part in this, so its easy to then control it via mqtt.

The other intended use of this board is for remote switch input, with LED feedback to the switches. I'll detail that when its up and running.

For now these are simply controlled using a Node red dashboard of buttons:

Code:
[{"id":"615cbe95.58533","type":"ui_button","z":"c9f6640b.fd0eb8","name":"Relay8","group":"c8b522c8.2b1f7","order":4,"width":0,"height":0,"passthru":false,"label":"{{msg.txt}}","tooltip":"","color":"","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":1110,"y":980,"wires":[["31263838.b87a58"]]},{"id":"a95c8fa6.6af2d","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"green","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"8 On","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":910,"wires":[["615cbe95.58533"]]},{"id":"838e7297.98c0a","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"red","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"8 Off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":1050,"wires":[["615cbe95.58533"]]},{"id":"31263838.b87a58","type":"function","z":"c9f6640b.fd0eb8","name":"","func":"context.set('state',context.get('state')||\"closed\");\n\nfunction updateNodeStatus(color, txt) {\n    node.status({\n    \tfill : color,\n    \tshape : \"dot\",\n    \ttext : txt\n    });\n}\n\nvar state = context.get('state');\nvar color = '';\n\nswitch (state) {\n    case 'OFF':\n        state = 'ON';\n        color = 'green';\n        msg.payload = \"0\";\n        break;\n    case 'ON':\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n    default:\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n}\n\ncontext.set('state',state);\nupdateNodeStatus(color,msg.payload);\nnode.send(msg);","outputs":"1","noerr":0,"x":1270,"y":980,"wires":[["c48eaa8c.8ec318"]]},{"id":"49315bcc.b4bde4","type":"switch","z":"c9f6640b.fd0eb8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"str"},{"t":"eq","v":"1","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":870,"y":980,"wires":[["a95c8fa6.6af2d"],["838e7297.98c0a"]]},{"id":"4e3ffeee.fa75d","type":"mqtt in","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/8","qos":"2","datatype":"auto","broker":"320c126d.0259be","x":350,"y":980,"wires":[["49315bcc.b4bde4"]]},{"id":"c48eaa8c.8ec318","type":"mqtt out","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/8","qos":"","retain":"","broker":"320c126d.0259be","x":1500,"y":980,"wires":[]},{"id":"1f67032e.918ded","type":"ui_button","z":"c9f6640b.fd0eb8","name":"Relay7","group":"c8b522c8.2b1f7","order":4,"width":0,"height":0,"passthru":false,"label":"{{msg.txt}}","tooltip":"","color":"","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":1110,"y":1210,"wires":[["89b9e7a8.b79578"]]},{"id":"fc00c87a.5412f8","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"green","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"7 On","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":1140,"wires":[["1f67032e.918ded"]]},{"id":"a199a686.5a9f08","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"red","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"7 Off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":1280,"wires":[["1f67032e.918ded"]]},{"id":"89b9e7a8.b79578","type":"function","z":"c9f6640b.fd0eb8","name":"","func":"context.set('state',context.get('state')||\"closed\");\n\nfunction updateNodeStatus(color, txt) {\n    node.status({\n    \tfill : color,\n    \tshape : \"dot\",\n    \ttext : txt\n    });\n}\n\nvar state = context.get('state');\nvar color = '';\n\nswitch (state) {\n    case 'OFF':\n        state = 'ON';\n        color = 'green';\n        msg.payload = \"0\";\n        break;\n    case 'ON':\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n    default:\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n}\n\ncontext.set('state',state);\nupdateNodeStatus(color,msg.payload);\nnode.send(msg);","outputs":"1","noerr":0,"x":1270,"y":1210,"wires":[["874d1e86.255d3"]]},{"id":"d49dd5f9.a663e8","type":"switch","z":"c9f6640b.fd0eb8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"str"},{"t":"eq","v":"1","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":870,"y":1210,"wires":[["fc00c87a.5412f8"],["a199a686.5a9f08"]]},{"id":"1106fc99.34b9d3","type":"mqtt in","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/7","qos":"2","datatype":"auto","broker":"320c126d.0259be","x":350,"y":1210,"wires":[["d49dd5f9.a663e8"]]},{"id":"874d1e86.255d3","type":"mqtt out","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/7","qos":"","retain":"","broker":"320c126d.0259be","x":1500,"y":1210,"wires":[]},{"id":"f5a8d0ab.b1c0c","type":"ui_button","z":"c9f6640b.fd0eb8","name":"Relay6","group":"c8b522c8.2b1f7","order":4,"width":0,"height":0,"passthru":false,"label":"{{msg.txt}}","tooltip":"","color":"","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":1110,"y":1460,"wires":[["f7984428.057f68"]]},{"id":"11e97dd6.2b3b92","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"green","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"6 On","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":1390,"wires":[["f5a8d0ab.b1c0c"]]},{"id":"f58fc023.a6af3","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"red","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"6 Off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":1530,"wires":[["f5a8d0ab.b1c0c"]]},{"id":"f7984428.057f68","type":"function","z":"c9f6640b.fd0eb8","name":"","func":"context.set('state',context.get('state')||\"closed\");\n\nfunction updateNodeStatus(color, txt) {\n    node.status({\n    \tfill : color,\n    \tshape : \"dot\",\n    \ttext : txt\n    });\n}\n\nvar state = context.get('state');\nvar color = '';\n\nswitch (state) {\n    case 'OFF':\n        state = 'ON';\n        color = 'green';\n        msg.payload = \"0\";\n        break;\n    case 'ON':\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n    default:\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n}\n\ncontext.set('state',state);\nupdateNodeStatus(color,msg.payload);\nnode.send(msg);","outputs":"1","noerr":0,"x":1270,"y":1460,"wires":[["4a54c242.39666c"]]},{"id":"c29b5581.570608","type":"switch","z":"c9f6640b.fd0eb8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"str"},{"t":"eq","v":"1","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":870,"y":1460,"wires":[["11e97dd6.2b3b92"],["f58fc023.a6af3"]]},{"id":"a80e7f3a.72d9d","type":"mqtt in","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/6","qos":"2","datatype":"auto","broker":"320c126d.0259be","x":350,"y":1460,"wires":[["c29b5581.570608"]]},{"id":"4a54c242.39666c","type":"mqtt out","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/6","qos":"","retain":"","broker":"320c126d.0259be","x":1500,"y":1460,"wires":[]},{"id":"e77b2ef4.c7b74","type":"ui_button","z":"c9f6640b.fd0eb8","name":"Relay5","group":"c8b522c8.2b1f7","order":4,"width":0,"height":0,"passthru":false,"label":"{{msg.txt}}","tooltip":"","color":"","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":1110,"y":1660,"wires":[["779c4c92.b651f4"]]},{"id":"6eb41f58.55d3a","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"green","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"5 On","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":1590,"wires":[["e77b2ef4.c7b74"]]},{"id":"503ebbb4.935f14","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"red","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"5 Off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":1730,"wires":[["e77b2ef4.c7b74"]]},{"id":"779c4c92.b651f4","type":"function","z":"c9f6640b.fd0eb8","name":"","func":"context.set('state',context.get('state')||\"closed\");\n\nfunction updateNodeStatus(color, txt) {\n    node.status({\n    \tfill : color,\n    \tshape : \"dot\",\n    \ttext : txt\n    });\n}\n\nvar state = context.get('state');\nvar color = '';\n\nswitch (state) {\n    case 'OFF':\n        state = 'ON';\n        color = 'green';\n        msg.payload = \"0\";\n        break;\n    case 'ON':\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n    default:\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n}\n\ncontext.set('state',state);\nupdateNodeStatus(color,msg.payload);\nnode.send(msg);","outputs":"1","noerr":0,"x":1270,"y":1660,"wires":[["d472d85.b539d28"]]},{"id":"d6acefe2.45692","type":"switch","z":"c9f6640b.fd0eb8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"str"},{"t":"eq","v":"1","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":870,"y":1660,"wires":[["6eb41f58.55d3a"],["503ebbb4.935f14"]]},{"id":"198ae572.5aa26b","type":"mqtt in","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/5","qos":"2","datatype":"auto","broker":"320c126d.0259be","x":350,"y":1660,"wires":[["d6acefe2.45692"]]},{"id":"d472d85.b539d28","type":"mqtt out","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/5","qos":"","retain":"","broker":"320c126d.0259be","x":1500,"y":1660,"wires":[]},{"id":"3dadf747.f4d3e8","type":"ui_button","z":"c9f6640b.fd0eb8","name":"Relay4","group":"c8b522c8.2b1f7","order":4,"width":0,"height":0,"passthru":false,"label":"{{msg.txt}}","tooltip":"","color":"","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":1110,"y":1880,"wires":[["2071a267.eef0fe"]]},{"id":"fbf296aa.5dd468","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"green","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"4 On","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":1810,"wires":[["3dadf747.f4d3e8"]]},{"id":"e8048c5c.cf18b","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"red","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"4 Off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":1950,"wires":[["3dadf747.f4d3e8"]]},{"id":"2071a267.eef0fe","type":"function","z":"c9f6640b.fd0eb8","name":"","func":"context.set('state',context.get('state')||\"closed\");\n\nfunction updateNodeStatus(color, txt) {\n    node.status({\n    \tfill : color,\n    \tshape : \"dot\",\n    \ttext : txt\n    });\n}\n\nvar state = context.get('state');\nvar color = '';\n\nswitch (state) {\n    case 'OFF':\n        state = 'ON';\n        color = 'green';\n        msg.payload = \"0\";\n        break;\n    case 'ON':\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n    default:\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n}\n\ncontext.set('state',state);\nupdateNodeStatus(color,msg.payload);\nnode.send(msg);","outputs":"1","noerr":0,"x":1270,"y":1880,"wires":[["30f7b1d2.4137de"]]},{"id":"328303f6.ba10ec","type":"switch","z":"c9f6640b.fd0eb8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"str"},{"t":"eq","v":"1","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":870,"y":1880,"wires":[["fbf296aa.5dd468"],["e8048c5c.cf18b"]]},{"id":"eacdc9f0.93f458","type":"mqtt in","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/4","qos":"2","datatype":"auto","broker":"320c126d.0259be","x":350,"y":1880,"wires":[["328303f6.ba10ec"]]},{"id":"30f7b1d2.4137de","type":"mqtt out","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/4","qos":"","retain":"","broker":"320c126d.0259be","x":1500,"y":1880,"wires":[]},{"id":"377719db.62a2b6","type":"ui_button","z":"c9f6640b.fd0eb8","name":"Relay3","group":"c8b522c8.2b1f7","order":4,"width":0,"height":0,"passthru":false,"label":"{{msg.txt}}","tooltip":"","color":"","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":1110,"y":2080,"wires":[["957e12f4.6c2f"]]},{"id":"24cba247.71475e","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"green","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"3 On","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":2010,"wires":[["377719db.62a2b6"]]},{"id":"cbb511b0.4792e","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"red","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"3 Off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":2150,"wires":[["377719db.62a2b6"]]},{"id":"957e12f4.6c2f","type":"function","z":"c9f6640b.fd0eb8","name":"","func":"context.set('state',context.get('state')||\"closed\");\n\nfunction updateNodeStatus(color, txt) {\n    node.status({\n    \tfill : color,\n    \tshape : \"dot\",\n    \ttext : txt\n    });\n}\n\nvar state = context.get('state');\nvar color = '';\n\nswitch (state) {\n    case 'OFF':\n        state = 'ON';\n        color = 'green';\n        msg.payload = \"0\";\n        break;\n    case 'ON':\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n    default:\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n}\n\ncontext.set('state',state);\nupdateNodeStatus(color,msg.payload);\nnode.send(msg);","outputs":"1","noerr":0,"x":1270,"y":2080,"wires":[["c9c2773e.2a6ff8"]]},{"id":"52b49a19.acb794","type":"switch","z":"c9f6640b.fd0eb8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"str"},{"t":"eq","v":"1","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":870,"y":2080,"wires":[["24cba247.71475e"],["cbb511b0.4792e"]]},{"id":"58cdf85.86dc508","type":"mqtt in","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/3","qos":"2","datatype":"auto","broker":"320c126d.0259be","x":350,"y":2080,"wires":[["52b49a19.acb794"]]},{"id":"c9c2773e.2a6ff8","type":"mqtt out","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/3","qos":"","retain":"","broker":"320c126d.0259be","x":1500,"y":2080,"wires":[]},{"id":"b6e8c6f5.9527e8","type":"ui_button","z":"c9f6640b.fd0eb8","name":"Relay2","group":"c8b522c8.2b1f7","order":4,"width":0,"height":0,"passthru":false,"label":"{{msg.txt}}","tooltip":"","color":"","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":1110,"y":2280,"wires":[["93de750.887db88"]]},{"id":"9201dbda.c4a978","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"green","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"2 On","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":2210,"wires":[["b6e8c6f5.9527e8"]]},{"id":"3cf4b630.fe7dda","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"red","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"2 Off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":2350,"wires":[["b6e8c6f5.9527e8"]]},{"id":"93de750.887db88","type":"function","z":"c9f6640b.fd0eb8","name":"","func":"context.set('state',context.get('state')||\"closed\");\n\nfunction updateNodeStatus(color, txt) {\n    node.status({\n    \tfill : color,\n    \tshape : \"dot\",\n    \ttext : txt\n    });\n}\n\nvar state = context.get('state');\nvar color = '';\n\nswitch (state) {\n    case 'OFF':\n        state = 'ON';\n        color = 'green';\n        msg.payload = \"0\";\n        break;\n    case 'ON':\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n    default:\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n}\n\ncontext.set('state',state);\nupdateNodeStatus(color,msg.payload);\nnode.send(msg);","outputs":"1","noerr":0,"x":1270,"y":2280,"wires":[["eb91729e.f5a2c"]]},{"id":"ea22f5bf.ed5948","type":"switch","z":"c9f6640b.fd0eb8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"str"},{"t":"eq","v":"1","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":870,"y":2280,"wires":[["9201dbda.c4a978"],["3cf4b630.fe7dda"]]},{"id":"4ec34f5c.6994e","type":"mqtt in","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/2","qos":"2","datatype":"auto","broker":"320c126d.0259be","x":350,"y":2280,"wires":[["ea22f5bf.ed5948"]]},{"id":"eb91729e.f5a2c","type":"mqtt out","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/2","qos":"","retain":"","broker":"320c126d.0259be","x":1500,"y":2280,"wires":[]},{"id":"f52ce2a1.07ef","type":"ui_button","z":"c9f6640b.fd0eb8","name":"Relay1","group":"c8b522c8.2b1f7","order":4,"width":0,"height":0,"passthru":false,"label":"{{msg.txt}}","tooltip":"","color":"","bgcolor":"{{msg.background}}","icon":"","payload":"","payloadType":"str","topic":"","x":1110,"y":2480,"wires":[["ca3e9140.bdcb4"]]},{"id":"deb78380.35823","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"green","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"1 On","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":2410,"wires":[["f52ce2a1.07ef"]]},{"id":"b4cd233e.f7e2a","type":"change","z":"c9f6640b.fd0eb8","name":"","rules":[{"t":"set","p":"background","pt":"msg","to":"red","tot":"str"},{"t":"set","p":"txt","pt":"msg","to":"1 Off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":2550,"wires":[["f52ce2a1.07ef"]]},{"id":"ca3e9140.bdcb4","type":"function","z":"c9f6640b.fd0eb8","name":"","func":"context.set('state',context.get('state')||\"closed\");\n\nfunction updateNodeStatus(color, txt) {\n    node.status({\n    \tfill : color,\n    \tshape : \"dot\",\n    \ttext : txt\n    });\n}\n\nvar state = context.get('state');\nvar color = '';\n\nswitch (state) {\n    case 'OFF':\n        state = 'ON';\n        color = 'green';\n        msg.payload = \"0\";\n        break;\n    case 'ON':\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n    default:\n        state = 'OFF';\n        color = 'red';\n        msg.payload = \"1\";\n        break;\n}\n\ncontext.set('state',state);\nupdateNodeStatus(color,msg.payload);\nnode.send(msg);","outputs":"1","noerr":0,"x":1270,"y":2480,"wires":[["fa376694.99eaa8"]]},{"id":"d8f3414c.28a5b","type":"switch","z":"c9f6640b.fd0eb8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"str"},{"t":"eq","v":"1","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":870,"y":2480,"wires":[["deb78380.35823"],["b4cd233e.f7e2a"]]},{"id":"688e6ef5.1ee0e","type":"mqtt in","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/1","qos":"2","datatype":"auto","broker":"320c126d.0259be","x":350,"y":2480,"wires":[["d8f3414c.28a5b"]]},{"id":"fa376694.99eaa8","type":"mqtt out","z":"c9f6640b.fd0eb8","name":"","topic":"StarRelay/mcpgpio/1","qos":"","retain":"","broker":"320c126d.0259be","x":1500,"y":2480,"wires":[]},{"id":"c8b522c8.2b1f7","type":"ui_group","z":"","name":"Relays","tab":"21a6bafb.b2a3c6","order":1,"disp":true,"width":"6","collapse":false},{"id":"320c126d.0259be","type":"mqtt-broker","z":"","name":"OpenPlotter","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"21a6bafb.b2a3c6","type":"ui_tab","z":"","name":"Control","icon":"dashboard","order":2,"disabled":false,"hidden":false}]



RE: UK OpenPlotter Build - Max1947 - 2020-06-20

Ciao Northwind, I take this post (nice project!) To ask you if the St1 / nmea card is bidirectional and if it is possible to have a trace of your project somewhere, have you made any progress?  Rolleyes


RE: UK OpenPlotter Build - SYWindveer - 2020-06-24

(2020-06-20, 09:34 PM)Max1947 Wrote: Ciao Northwind, I take this post (nice project!) To ask you if the St1 / nmea card is bidirectional and if it is possible to have a trace of your project somewhere, have you made any progress?  Rolleyes

The YAPP projects are pretty old by now, I still have the files somewhere. I built one myself , but the NMEA checksums were not correct. I was never able to fix that.
Got the ST2USB YAPP as well, that one still works but is unidirectional.
Let me know if you want a copy.


RE: UK OpenPlotter Build - st599 - 2020-09-04

Could I ask a quick question about the power supply you're using?

Where did you source it?  I've been struggling to find a similar one.

Also, I notice you're using a set of boards rather than the Moitessier HAT, in the build I'm contemplating, I already have AIS and GPS on NME0183, so I'm thinking of using an RS422 to Ethernet device to bring the data already available in to the system.
Presumably it's a simple I2C bus connection to the boards?

Is your node Red source for the OLED displays available?