1984 Macintosh-style weather station using Wi-Fi and OLED display.
|1.3" OLED Display (SSD1306 I2C)||1||Purchased from Aliexpress|
|Wi-Fi module (ESP-01 module)||1|
|Jumper Wires||9||10cm Male-Female|
|Mini Breadboard||1||3.5cm x 4.5cm|
|Rare-earth magnets||8||diameter 3mm, thickness 3mm|
|3D printed case||2 pieces|
First, connect Kameleon Core with OLED and ESP8266 as below with jumper wires and breadboard.
|3V3||VCC, CH_PD||VCC (VDD)|
|6 (UART0 TX)||RXD|
|7 (UART0 RX)||TXD|
|8 (I2C0 SCL)||SCL (SCK)|
|9 (I2C0 SDA)||SDA|
Then print the case model using a 3D printer. In my case, I printed it using FDM-type printer with PLA filament. You can get model from Tinkercad or Thingiverse.
- Tinkercad: https://www.tinkercad.com/things/9cmyz9PlggY
- Thingiverse: https://www.thingiverse.com/thing:4164035
When you got the printed case, first you need to mount OLED display to the front cover using M3x8 bolts. Don't tighten too much the bolts into the case because there is some margin between OLED and the front case. If you tighten too much, OLED breakout board may be broken.
I used magnets to combine the front cover and the case body. So insert magnets into the 4 holes on the cover and body. Be careful the correct side of magnets should be inserted so that the cover and body can be sticked.
Lastly, insert the breadboad to the inner space of the case body and connect USB-cable via the hole on back-side.
To run this project, you need to store several keys in storage via Terminal as below.
First, you have to assign
WIFI_PASSWORD keys in storage for your Wi-Fi network.
> storage.setItem('WIFI_SSID', 'MyHome'); // WiFi SSID > storage.setItem('WIFI_PASSWORD', '********'); // Wi-Fi Password
Then, you need to obtain API key from OpenWeatherMap.
> storage.setItem('OWM_APIKEY', '********************'); // OpenWeatherMap API Key
Set the location where you want to get weather information from OpenWeatherMap.
List of city ID
city.list.json.gz can be downloaded here: http://bulk.openweathermap.org/sample/
> storage.setItem('OWM_LOC', '1835848'); // e.g.) Seoul
Lastly, upload this project to the Kameleon Core board.
No special usage. It periodically (10 min.) request weather information to OpenWeatherMap and show it on OLED display.