3d_print_wx_station_obsolete
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
3d_print_wx_station_obsolete [2023/09/09 11:02] – [WiFi e-ink display connection] ok1hra | 3d_print_wx_station_obsolete [2023/09/09 11:34] (current) – ok1hra | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== 3D print WX station (release 2023) ====== | + | ====== 3D print WX station (OBSOLETE) ====== |
- | {{ https:// | + | [[https:// |
- | Ethernet PoE weather station | + | \\ |
- | * **[[https:// | + | **Instaled stations** - [[https://aprs.fi/weather/ |
- | * [[https://remoteqth.com/3d-wx-station.php|Previous version website]] | + | \\ |
- | * [[https://remoteqth.com/w/doku.php? | + | {{youtube> |
- | + | ---- | |
- | + | ===== Electronics | |
- | ===== Source ====== | + | {{https:// |
- | * **Firmware** | + | \\ |
- | | + | [[https://remoteqth.com/hw/3d-wx-station-ibom-04.html|Interactive BOM]] \\ |
- | * **3D print model** | + | [[https://remoteqth.com/hw/3d-wx-station-KiCad-04.pdf|Schematics]] \\ |
- | | + | \\ |
- | * **[[https://github.com/ok1hra/3D-print-WX-station/tree/master/3d-print/stl-output|.STL and .3mf files]]** | + | **For incomplete PCB, need ** \\ |
- | * **[[https://remoteqth.com/download-count.php? | + | - U10, U12, U15 soldered from side of PCB - [[https://www.tme.eu/ |
- | | + | - soldered U14 [[https:// |
- | * [[https://remoteqth.com/download-count.php? | + | |
- | | + | - soldered P1 [[https://www.tme.eu/cz/details/ |
- | | + | - soldered P2 [[https://www.tme.eu/cz/ |
- | * [[https://github.com/ok1hra/ | + | |
+ | - connect ESP32-POE | ||
+ | - POE injector | ||
+ | - **Warning: do not connect POE and USB cable in same time!** \\ | ||
+ | **After PCB assembly ** \\ | ||
+ | - Test if works | ||
+ | - [[3d_print_wx_station# | ||
+ | - hall efect sensor detect only **north** pole of neodyme magnets, therefore try to attach for find north pole and sign it with permanent pen. The output of the closed sensor can be monitored in the CLI on line (1 is open){{https:// | ||
+ | - Mask all connectors and sensors (U13, U14) and appply **protective acrylic** \\ {{https:// | ||
+ | \\ | ||
---- | ---- | ||
- | ===== Measured quantities ====== | + | ===== Hardware |
- | - **Temperature** (not exactly inside), or external in sunshield | + | ^ part ^ pieces |
- | - **Relative humidity** | + | | M3x10mm |
- | - **Dew point** calculated | + | | M2x10mm |
- | - **Pressure** | + | | brass threaded rod M6x250mm |
- | | + | | brass M6 nut | 2x | | |
- | - **Wind direction** | + | | bearings 61802 | 2x | https:// |
- | - **Rain** with a resolution of 0.14 mm | + | | neodymium magnet 12x6x2mm |
- | + | | neodymium magnet 5x3x1mm | |
- | ===== Features ====== | + | | magnet glue (or another) |
- | - **Ethernet** RJ45 connection | + | | cable tie with a metal clasp | > |
- | - Powered via passive **POE** with own adapter | + | | PCB protective acrylic (optional) |
- | - Single mounting point installation with simple mounting with two plastic binding tapes | + | | stainless steel threaded rod M6x+-125mm |
- | - Design supports an **easy change** of the **diameter mounting tube,** by replacing one 3D printed part (number 2). | + | | External outdoor DS18B20 temperature sensor | 1x | optional | |
- | | + | \\ |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | - Publish data to **MQTT** | + | |
- | - Stores the maximum historically measured wind speed value with a time stamp in the eeprom | + | |
- | - Direct sending data to **aprs.fi** (if you have a radio amateur license) | + | |
- | | + | |
- | | + | |
- | | + | |
- | - **OTA update** via web interface | + | |
- | - Web **MQTT wall, | + | |
- | - Hardware expandable by RF (LoRa) module - not implemented in firmware | + | |
- | - Optional **external SD18B20 thermistor** with **[[Double sun shield for thermometer]]** \\ {{https://remoteqth.com/img/wiki-wx-station2-12.jpg? | + | |
- | | + | |
- | - Optional **[[https://github.com/ok1hra/esp32-e-ink|WiFi e-ink display]]** \\ {{https://remoteqth.com/img/wiki-wx-station2-19.jpg? | + | |
- | + | ||
---- | ---- | ||
+ | ===== 3D print ===== | ||
+ | {{https:// | ||
+ | ^ part ^ filament | ||
+ | | 1, | ||
+ | | 0, | ||
+ | [[https:// | ||
+ | **Part #2 designed for mounting tube with 58 mm diameter \\ | ||
+ | For another diameter change value in OpenScad and export new .stl** | ||
+ | < | ||
- | ===== BOM ===== | + | \\ |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | ===== Tools ===== | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
- | | {{https:// | + | |
---- | ---- | ||
+ | ===== Firmware upload ===== | ||
- | ====== Assembly manual, step by step ====== | + | |
- | + | - Install ESP32 support | |
- | | + | - prefered via **[[https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md|board manager]]** |
- | - Break off the remains of the must with the help of pliers \\ {{https://remoteqth.com/img/ | + | - Install [[https://www.arduino.cc/en/guide/libraries|Arduino libraries]] |
- | - Place the 3D printed part number 3 on the main PCB and seal the upper joints with silicone sealant \\ {{https:// | + | - PubSubClient |
- | - Place the 3D printed part number 4, push it downwards (to the left in the picture) and screw together with two M2 x10mm screws \\ {{https:// | + | - Adafruit_BMP280_Library |
- | - Now it will be necessary to press the bearing. First, make a nut on a brass threaded rod about 50mm from the edge. \\ {{https://remoteqth.com/img/wiki-wx-station2-35.jpg? | + | - Adafruit_HTU21DF_Library |
- | - Then put the smaller part of the 3D printed part number 16 on it. \\ {{https://remoteqth.com/img/wiki-wx-station2-36.jpg? | + | - Adafruit_Unified_Sensor |
- | - You thread the bearing \\ {{https://remoteqth.com/img/wiki-wx-station2-37.jpg? | + | - OneWire (optional if use external DS18B20 temperature sensor) |
- | - Put on the 3D printed part number 5 according to the picture \\ {{https://remoteqth.com/ | + | - DallasTemperature |
- | - You thread the second (larger) 3d printed part number 16 \\ {{https://remoteqth.com/ | + | - Download firmware from [[https://github.com/ok1hra/3D-print-WX-station|GitGub]] |
- | - Screw in the brass nut \\ {{https://remoteqth.com/img/ | + | - Select menu Tools/Board:" |
- | - Lightly tighten with a number 10 wrench until resistance begins to rise \\ {{https:// | + | - Connect micro USB between ESP32-POE and PC |
- | - Disassemble the entire tool, the bearing should be pressed inside the part \\ {{https:// | + | - **WARNING: not connect USB cable and POE in same time!** |
- | - The new bearings have considerable resistance. Over time, it will decrease during rotation. This process can be accelerated with a simple tool, with which we spin the bearing for a few minutes with a drill. | + | - Select menu Tools/Port/YOUR-CONNECTED-PORT |
- | - We describe all magnets with north and south fields \\ {{https:// | + | - Upload firmware |
- | - Field detection can be done in two ways | + | - After firmware upload you can upload next version |
- | - using the compass | + | - password for OTA upload |
- | - by attaching a magnet to the hall probe on the main PCB Wx of the station, the probe responds to the N pole | + | - After first upload also available upload binary via web \\ {{https:// |
- | - We insert the rectangular magnet into the gap in the 3d printed part number 5 so that the N pole points towards the center \\ {{https:// | + | |
- | - We press the magnet so that it does not stick out \\ {{https:// | + | |
- | - Place part number 5 with bearing and pagnet on the PCB and push it downwards | + | |
- | - Place the 3D printed part number 7 and fasten with two M2 x10mm screws \\ {{https://remoteqth.com/img/wiki-wx-station2-47.jpg? | + | |
- | - Press the bearing into the 3d printed part number 9 according to the instructions in point 5 \\ {{https:// | + | |
- | - After removing the supports, insert the magnet into part 9 so that it is oriented with the North field up \\ {{https:// | + | |
- | - Place the part on the pre-drilled structure and gently push it so that the bearing fits onto the prepared cone \\ {{https:// | + | |
- | - Be very careful not to damage the hall probes at the end of the main board, fit the round PCB and insert it into the kentor in the main board. \\ {{https:// | + | |
- | - Insert a brass threaded rod with a nut on the end into the 3D printed part. \\ {{https:// | + | |
- | - Push the threaded rod through the entire weather | + | |
- | - Insulate the top end with a small amount of silicone sealant. Larger amounts could be pushed under the plate and prevent the part from turning underneath. \\ {{https:// | + | |
- | - Put on the 3D stamped part number 10 and screw on the brass nut so that the screw does not protrude from the nut. \\ {{https:// | + | |
- | - Put on the 3d printed part number 12 and insulate the joints with silicone sealant. \\ {{https:// | + | |
- | - Gently tighten the nut on the underside of the weather station. Attention, strong questioning can deform the plastic parts. \\ {{https:// | + | |
- | - Press the cylindrical neodymium magnet into the 3D printed part number 11 so that it is oriented with the South field facing outwards. \\ {{https:// | + | |
- | - Using two M2 x10mm screws, attach the cradle to the main plate and plastic bracket number 12. The screws must remain loose so that the cradle can rotate freely. The ideal situation is when, by moving the cradle in the axis of rotation, the cradle does not touch either side (the PCB or the supporting plastic part. \\ {{https:// | + | |
- | - We verify the correct function of the cradle by tilting it, when the cradle always tilts freely. \\ {{https:// | + | |
- | - Before putting on the 3D printed part number 13, we remove the strings from its inner part with the help of hot air. Strings are thin and hard to see, but they can prevent the cradle from tipping over inside. Then we screw the part to the main structure using four M3 x10mm screws. Attention, we do not tighten with force, the screws are only in conical plastic holes, without metal nuts. \\ {{https:// | + | |
- | - Place the 3D printed part number 1 in the lower part and secure it with a brass nut. \\ {{https://remoteqth.com/ | + | |
- | - Place the 3D-printed part number 8 in the rotating part, and insert it so that it does not protrude. The accuracy of the facing of 3D printed parts is given by the accuracy of printing without overshoot at the end and excessive extrusion. \\ {{https:// | + | |
- | - We screw in the stainless steel threaded rod from the opposite side until it starts to resist, which is the end of the plastic taper hole. Then we screw the stainless steel nut onto it, by screwing it along the threaded rod we balance it so that it remains | + | |
- | - Place three 3D printed anemometer vanes (part number 6). The accuracy of the facing of 3D printed parts is given by the accuracy of printing without overshoot at the end and excessive extrusion. \\ {{https://remoteqth.com/img/wiki-wx-station2-74.jpg? | + | |
- | - Before inserting the plastic binding tape into the 3D printed part number 2, bend the end of the tape twice so that it can be inserted through the hole that is bent into the washer ring. \\ {{https:// | + | |
- | - With the help of two straps, we attach the weather | + | |
- | | + | |
- | - The POE module is mounted in a 3d printed part made of transparent material so that the LED diode inside can be seen, which signals the interruption of the tube fuse in the power supply of the weather | + | |
- | | + | |
---- | ---- | ||
+ | ===== Configure CLI ===== | ||
- | ===== Connection using telnet | + | ==== First step need get IP addres |
+ | - After first upload firmware via USB, open serial monitor in Arduino IDE (Ctrl+Shift+M) and set | ||
+ | - baudrate to 115200 | ||
+ | - No Line ending | ||
+ | - write < | ||
+ | - Now **copy and save** | ||
+ | * **IP** address | ||
+ | * **Key** for telnet access (100 characters) | ||
+ | Key are generated automatically from internal pseudo random generator after start if EEPROM is clear. Therefore you can generate new key after clear EEPROM with **E** command. | ||
- | ==== How to connect | + | ==== Second step connect |
- | {{https:// | + | |
- | ==== Reading the access key ==== | + | |
- | - You download the {{https:// | ||
- | - **Connect** the weather station **to the Ethernet, including the power supply via the POE module,** see the picture above | ||
- | - **Connect** the weather station with the **USB-C** cable to the computer | ||
- | - In the Arduino IDE menu, select **Tools/ | ||
- | - Select the menu **Tools/ | ||
- | - In the bottom sheet of the monitor, choose the speed of **115200 baud** and (CR) | ||
- | - Place the cursor in the upper input line and **press Enter** | ||
- | - The IP address and **access key** will be displayed, which you should copy and save safely. \\ {{https:// | ||
- | ==== Telnet connect ==== | ||
* Download and install [[https:// | * Download and install [[https:// | ||
* In menu Terminal preset CR/LF and line discipline by picture \\ {{https:// | * In menu Terminal preset CR/LF and line discipline by picture \\ {{https:// | ||
Line 151: | Line 102: | ||
* select **Telnet** | * select **Telnet** | ||
* port **23** | * port **23** | ||
- | * write **IP address** (saved from [[# | + | * write **IP address** (saved from first step acces) |
* Sessions may be saved for next time | * Sessions may be saved for next time | ||
* for connect press **Open** | * for connect press **Open** | ||
Line 168: | Line 119: | ||
* if you **enter wrong three times,** login will be **blocked for next ten minutes** | * if you **enter wrong three times,** login will be **blocked for next ten minutes** | ||
* After login your IP address store to EEPROM and next key will be required **only if change your IP** address | * After login your IP address store to EEPROM and next key will be required **only if change your IP** address | ||
- | * Now logged in to CLI (command line interface) via telnet \\ {{https:// | + | * Now logged in to CLI (command line interface) via telnet \\ {{https:// |
* for **Logout** press **q** \\ | * for **Logout** press **q** \\ | ||
- | ==== Setup ==== | + | ==== How command are available |
- | Telnet' | + | | **?** | List status information and command | |
+ | | **a** | set wind speed alert, if exceed limit (not implemented) | | ||
+ | | **O** | set pressure ofset in hPa | | ||
+ | | ***** | enable/ | ||
+ | | **+** | change MQTT broker IP and port - defailt value used RemoteQTH.com public MQTT broker | | ||
+ | | **L** | change location name, or callsign with ssid if enable APRS | | ||
+ | | **A** | enable/ | ||
+ | | **s** | enable/ | ||
+ | | **q** | disconect telnet, also show login verified IP address | | ||
+ | | **Q** | disconect telnet with erase verified IP addres - will be required key in the next time you log in | | ||
+ | | **e** | list EEPROM (only for debbuging) | | ||
+ | | **.** | reset half hour timer and send measure to MQTT (and APRS if enable) | | ||
+ | | **@** | restart device (causes telnet disconnection) | | ||
- | - WX station status | + | ==== Third step - MQTT ==== |
- | - **Network** interface information (IP, MAC address) | + | |
- | - **UTC** time read from the NTP server (indicates a functional connection to the Internet) | + | |
- | - **Uptime** | + | |
- | - **MQTT** borker IP: | + | |
- | - Firmware and PCB **revision** | + | |
- | - Sensors (raw and resulting sensor values) | + | |
- | - **RainPin** - analog status on the input pin and recalculated values | + | |
- | - **Wind direction** - bit value of parallel converter and output values | + | |
- | - **RpMPin** - currently read digital input value (1 = without magnet) and length of the last pulse | + | |
- | - + statistics for the last period and the maximum historically measured value with a time stamp | + | |
- | - **HTU21D** - sensor values (in square brackets with added Temperature calibration shift value) | + | |
- | - Calculated **dew point** | + | |
- | - **BMP280** - sensor values (pressure in square brackets converted to sea level) | + | |
- | - **DS18B20** - sensor value | + | |
- | - Menu \\ //Used to set the necessary values. Press the letter from the left column to call up the required menu// | + | |
- | ==== WiFi e-ink display connection | + | |
- | To display the values from the weather station on the WiFi e-ink display, use the tutorial on **[[https:// | + | |
- | ==== Web interface ==== | + | If open IP address of WX station in web browser, load MQTT-wall. \\ |
+ | That propagate every half hour last measured value. \\ {{https:// | ||
- | If you enter the IP address of your weather station in the web browser, it will be displayed | + | \\ |
- | - **MQTT wall** - client that displays measured values every 5 minutes | + | ---- |
- | - The page header displays basic information and important links | + | ===== How to build ===== |
- | | + | |
- | - **Upload FW** - a link to the web interface of the weather station intended for updating the firmware, by uploading a .bin file \\ {{https:// | + | |
- | - **Releases** - link to GitHub for downloading the latest version of the firmware in .bin format | + | |
- | - **html preview** - a simple page showing values for the last 5 min cycle \\ {{https:// | + | |
- | - | + | |
+ | * [[3d_print_wx_station# | ||
+ | * [[3d_print_wx_station# | ||
+ | * [[3d_print_wx_station# | ||
+ | * [[3d_print_wx_station# | ||
+ | |||
+ | < | ||
+ | |||
+ | - Check if all parts is present{{https:// | ||
+ | - Trim all soldered THT pin on back side of PCB{{https:// | ||
+ | - Use two screw M3x10 for mount PCB to printed **parts number 2** and use two cable tie{{https:// | ||
+ | - Use two screw M3x10 for mount PCB to printed **parts number 1**{{https:// | ||
+ | - You can seal the hole on the top with silicone{{https:// | ||
+ | - Silicone top hole{{https:// | ||
+ | - Slide in brass threaded rod M6x220mm \\ Slide in printed **parts number 7** and screw in 2x M2x10{{https:// | ||
+ | - {{https:// | ||
+ | - Press the bearing into printed **parts number 8** \\ If need precise tuning outside diameter, use this value in OpenScad source< | ||
+ | - Slide in neodymium magnet - **magnet must be turned north side inwards**{{https:// | ||
+ | - Slide the printed part onto the assembled part{{https:// | ||
+ | - Slide in printed parts **number 10** and screw in 2x M2x10{{https:// | ||
+ | - Press the bearing into printed **parts number 11** \\ If need precise tuning outside diameter, use this value in OpenScad source< | ||
+ | - Slide in neodymium magnet - **magnet must be turned north side top**{{https:// | ||
+ | - Slide the printed part onto the assembled part{{https:// | ||
+ | - Slide in two small neodymium magnet - **must be turned bottom north side**{{https:// | ||
+ | - Screw in 2x M3x10 - after tightening, loosen by one turn{{https:// | ||
+ | - Carefully insert the PCB coin and plug in to connector{{https:// | ||
+ | - Silicone top hole{{https:// | ||
+ | - Put on printed **parts number 12** and tighten with a brass nut \\ **free hole around PCB it is necessary to seal with silicone**{{https:// | ||
+ | - The screw must not protrude beyond the nut{{https:// | ||
+ | - Silicone top hole{{https:// | ||
+ | - With press the pliers to put on{{https:// | ||
+ | - Screw in M3x10 to printed **parts number 14**{{https:// | ||
+ | - fit the azimuth blade and screw it on stainless steel threaded rod M6x125mm on, **so as to keep them horizontally balanced** - M6 nuts can be screwed in for balancing{{https:// | ||
+ | - Fit part number 14 on part number 12 so that the locking **screw is against the bottom hole**{{https:// | ||
+ | - Install the three anemometer blades{{https:// | ||
+ | - Connect ESP32-POE to PCB and fix with two lashing straps{{https:// | ||
+ | - Slide in printed **part number 0** and fasten with a screw M3x10{{https:// | ||
+ | - Pass two lashing straps to attach to the mast{{https:// | ||
+ | |||
+ | \\ | ||
---- | ---- | ||
- | ====== | + | ===== Passive thermometer sun shield |
+ | {{https:// | ||
+ | This part needed for accurate measure of temperature. | ||
+ | |||
+ | * First step **measure** mouting pipe diameter \\ {{ https:// | ||
+ | * [[https:// | ||
+ | * Now open **source code** in OpenScad and change line < | ||
+ | * Change the parameter gradually from 1 to 3 < | ||
+ | * After complete all STL parts you can **start 3D printing with WHITE PETG** filament. Sun-shield part nr 4 you print four times. \\ {{https:// | ||
+ | |||
+ | | M3 x10 mm | 18x | | ||
+ | | M3 x 20mm | 3x | | ||
+ | | Outdoor DS18B20 temperature sensor | 1x | | ||
+ | | Plastic binder | 5x | | ||
+ | |||
+ | * **Check all parts** \\ {{https:// | ||
+ | * **Mount three screw M3x10mm** for join part 1 and 2 \\ {{https:// | ||
+ | * Plug **thermistor** to center part 3 \\ {{https:// | ||
+ | * **Mount three screw M3x10mm for join every floor** \\ {{https:// | ||
+ | * For Mount bottom grid with M3x20mm \\ {{https:// | ||
+ | * Final mounting to pipe \\ {{https:// | ||
+ | * [[3d_print_wx_station# | ||
+ | |||
+ | \\ | ||
+ | ---- | ||
- | ===== MQTT broker | + | ===== Instalation |
- | MQTT is a universal protocol that is used to communicate the WX station with other devices (WiFi e-ink display). The control node transmitting this information is the MQTT broker. The default settings of the WX station use the **public MQTT broker of the Internet at the address remoteqth.com.** In order to avoid dependence on an Internet connection or the availability of a public MQTT broker, | + | * Three mounting type are available |
- | After installation, | + | |
+ | | ||
+ | | ||
+ | * During instalation respect orientation by down side sign to South-North orientation | ||
+ | ===== ToDo ===== | ||
+ | * LoRa firmware support |
3d_print_wx_station_obsolete.1694257330.txt.gz · Last modified: 2023/09/09 11:02 by ok1hra