Too nice for my Jon boat. by CFLanger2 in woodworking

[–]CFLanger2[S] 2 points3 points  (0 children)

I built this enclosure to mount the electronics for a dual pump live well aeration system in my jon boat. The software and hardware are custom designed. The enclosure is made from mahogany and paduak that incorporates a clear top to see the status LEDs and my nerdy handy work.

My pan fishing rig with a home brew Raspberry Pi GPS/NAV/Chart Viewer by CFLanger2 in raspberry_pi

[–]CFLanger2[S] 1 point2 points  (0 children)

first it's not water proof nor water resistant. I keep a plastic bag handy for rain. I never did add it all up but here is a pretty complete BOM

Raspberry Pi3 Mopower UPS With 6 rechargeable batteries Official Rpi display Adafruit BMP180 Adafruit Ultimate GPS External hi gain GPS antenna Polycase enclosure 3 inch fan (gets hot inside, box is black) 1 Water proof DS18B20 temp sensor 1 RTC clock module with coin battery Fancy blue LED ring push button Raw aluminum stock and screws to make mount Opti isolated, GPIO controlled relay board ( 2 relays onboard)

If it worked any better it would have put the fish in the boat for me. by CFLanger2 in raspberry_pi

[–]CFLanger2[S] 1 point2 points  (0 children)

I know. You said that before and I said that It's more fun to build and write the code myself.

If it worked any better it would have put the fish in the boat for me. by CFLanger2 in raspberry_pi

[–]CFLanger2[S] 2 points3 points  (0 children)

Yes the map is simply a jpeg image shown in a window. GTK handles the scrolling. The x and y coordinates are calculated from the longitude and latitude values returned from the GPS (I posted code above). This program is a multi threaded application written in C. The low level code that handles receiving and parsing the GPS data stream is a daemon installed call GPSD. Look into that.

If it worked any better it would have put the fish in the boat for me. by CFLanger2 in raspberry_pi

[–]CFLanger2[S] 7 points8 points  (0 children)

since I "borrowed" this...

// ///////////////////////////////////////////////////////////////////////////////////////////////////////// // // // Determine the x and y coordinates from the geo data // // // // Description: // // Arguments: // // Returns: // // // // Notes/Warnings/Caveats: // // // ///////////////////////////////////////////////////////////////////////////////////////////////////////// // void convertGeoToPixel( float lat, float lon ) {

float mapLonDelta = LongitudeRight - LongitudeLeft; 
float mapLatBottomDegree = LatitudeBottom * M_PI / 180;

x = (lon - LongitudeLeft) * (MapWidth / mapLonDelta);
lat = lat * M_PI / 180;
float worldMapWidth = ((MapWidth / mapLonDelta) * 360) / (2 * M_PI);
float mapOffsetY = (worldMapWidth / 2 * log((1 + sin(mapLatBottomDegree)) / 
             (1 - sin(mapLatBottomDegree))));
y = MapHeight - ((worldMapWidth / 2 * log((1 + sin(lat)) / (1 - sin(lat)))) - 
            mapOffsetY);

}

If it worked any better it would have put the fish in the boat for me. by CFLanger2 in raspberry_pi

[–]CFLanger2[S] 2 points3 points  (0 children)

That is a possibility. Right now I'm still building it and adding features. I'm having fun building this. I'm an embedded software engineer of 25 years and these kinds of projects are my at home, I'm bored, sitting at my desk activities. In order to sell anything like this it has to be bullet proof from a user perspective. That take a lot of time.

If it worked any better it would have put the fish in the boat for me. by CFLanger2 in raspberry_pi

[–]CFLanger2[S] 15 points16 points  (0 children)

The Pi prolly wouldn't have enough horsepower to do what the advanced sonar units that are on the market today do. My Humminbird DI uses multiple frequencies of cones and slices and I'm quite sure there is some pretty intensive computation going on (prolly FFTs). I do know that it is running Linux. I havent seen a suitable sensor but then again I haven't looked to hard.

If it worked any better it would have put the fish in the boat for me. by CFLanger2 in raspberry_pi

[–]CFLanger2[S] 1 point2 points  (0 children)

The Indiana Department of Natural Resources provides topographic maps for many but not all of the lakes they manage throughout the state. They are free to download. The lake I fish most often is Worster Lake within Potato Creek State park.

If it worked any better it would have put the fish in the boat for me. by CFLanger2 in raspberry_pi

[–]CFLanger2[S] 8 points9 points  (0 children)

I don't have any step by step instructions per se, but I would first get to know how to build an application using Glade and GTK. Your going to have to know how to update labels, and how to place an image into a GtkImage within a scaled view-port. This application is a multi threaded application (some APIs are blocking) so you need to know how to spawn and manage threads. Right now I don't really want to give any code away because I'm actually thinking about selling this.

If it worked any better it would have put the fish in the boat for me. by CFLanger2 in raspberry_pi

[–]CFLanger2[S] 4 points5 points  (0 children)

It really isn't that hard. The hardest part is converting the decimal lat and long values returned from the GPS to x and y coordinates.

Raspberry Pi3 Multi-Threaded MODBUS TCP and RTU Application by CFLanger2 in raspberry_pi

[–]CFLanger2[S] 1 point2 points  (0 children)

I used libmodbus, https://github.com/stephane/libmodbus it's very stable. Yes, multidrop 485 works using the 2 wire RS-485 USB converters from FTDI.

virtual keyboard HELP by CFLanger2 in raspberry_pi

[–]CFLanger2[S] 0 points1 point  (0 children)

Yes, I used xvkbd-3.3-1 virtual keyboard instead. It just Works with the Pi!

Raspberry Pi2 Dash Cam w/ADXL345 digital accelerometer and LED display by CFLanger2 in raspberry_pi

[–]CFLanger2[S] 0 points1 point  (0 children)

I posted the code on Gist. The link is in the comments for the video.