Skip to content

Commit a7fcf60

Browse files
committed
Update README file
1 parent 78a300e commit a7fcf60

File tree

13 files changed

+146
-3
lines changed

13 files changed

+146
-3
lines changed

IoTGithubFrame.ino

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ const int BUILD_IN_LED = 2; // NO PIN
4747
const int BUTTON_IP = 27; // D27
4848
const int BUTTON_RESET_TODAY = 15; // D15
4949
const char* ntpServer = "pool.ntp.org";
50-
const long gmtOffset_sec = 3600;
50+
const long gmtOffset_sec = 0;
5151
const int daylightOffset_sec = 3600;
5252
char arrayToStoreUser[50];
5353
char arrayToStoreRepo[50];
@@ -243,7 +243,7 @@ void setup() {
243243
"<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n"
244244
"<body style=\"text-align:left;margin:0 auto;color:white;font-family:sans-serif;font-size:14px;padding:20px;\">\n\n"
245245
"<div style=\"padding:20px;max-width: 400px;margin: 0 auto;\">"
246-
"<h2 style=\"text-align:center;margin-bottom:0\">GitHub Frame</h2>\n"
246+
"<h2 style=\"text-align:center;margin-bottom:0\">IoT GitHub Frame</h2>\n"
247247
"<p style=\"text-align:center;margin-top:0\">configuration</p>\n"
248248
"<form action=\"\" method=\"get\" enctype=\"multipart/form-data\">\n"
249249
"<label style=\"display:block;margin-bottom:10px\">User: </label>\n"
@@ -330,6 +330,7 @@ void Task1code( void * pvParameters ) {
330330
// core loop 1
331331
for (;;) {
332332
if (isConfig()){
333+
getLocalTime();
333334
getData();
334335
delay(requestInterval * 1000);
335336
}else{

README.md

Lines changed: 143 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,144 @@
11
# IoT GitHub Frame
2-
IoT GitHub frame is a photo frame with built-in device based on the ESP32 module. This project will help you track the popularity of your repository. You will be able to follow live the number of stargazers, watchers and forks from selected GitHub repository. The frame can also display the number of daily stargazers. Simple configuration, automatic updates via HTTPS OTA, stability of operation. These are just some of the advantages of this project. The frame will look great on the wall in your home or office.
2+
3+
![Front view](/docs/photos/ready_5.jpg)
4+
5+
IoT GitHub Frame is a photo frame with built-in device based on the ESP32 module. This project will help you track the popularity of selected GitHub repository. You will be able to follow live the number of stargazers, watchers and forks. The frame can also display the number of daily stargazers. Simple configuration, automatic updates via HTTPS OTA, stability of operation. These are just some of the advantages of this project. The frame will look great on the wall in your home or office.
6+
7+
## BUILD GUIDE
8+
9+
### What you will need
10+
11+
![Necessary parts](/docs/photos/photo_1.jpg)
12+
13+
1. ESP-32 WROOM DevKit 1.0 – 1 pc.
14+
2. 4-digit display TM1637 0.56" - white color– 1 pc.
15+
3. 4-digit display TM1637 0.36" – 1 pc.
16+
4. 4-pinowy przewód, żeński – żeński – raster 2.54 – 4 pcs.
17+
5. JST 1.25 2-Pin Male - Female Connector – 2 pcs.
18+
6. Micro JST 1.25 2-Pin Male - Female Connector – 2 pcs.
19+
7. Universal PCB stripboard 50x70mm PI-01 – 1 pc.
20+
8. Carbon Film Resistor – 220 ohm – 5 pcs.
21+
9. Carbon Film Resistor – 2,2k ohm – 3 pcs.
22+
10. Breadboard Jumpers - 1 set
23+
11. Pin Header Right Angle Male – 1 pcs.
24+
12. LED Diode 5mm RGB with common anode – 1 pc.
25+
13. LED Diode 3mm white – 3 pcs.
26+
14. Round Push Button - momentary – 10mm – 2 pcs.
27+
15. ON-OFF switch – 1 pc.
28+
16. Cable USB A – USB micro – 1 pc.
29+
17. Phone charger with usb output 5V – 1 pc.
30+
18. Heat Shrink Tubing - 1 pc.
31+
19. IKEA RIBBA photo frame – 21x30cm ( it must be thick ) – 1 pc.
32+
20. Self-adhesive paper for the printer – 1 pc.
33+
34+
### Tools
35+
1. Soldering iron
36+
2. Solder
37+
3. Drill or screwdriver
38+
4. Drills: 7, 10, 13
39+
5. Hot glue gun
40+
6. Knife
41+
7. Printer
42+
43+
## STEP 1
44+
Solder electronic components to the PCB as in the picture below. Soldering start from the lowest elements. For connecting displays and LEDs use angled connectors.
45+
46+
![Stripboard prototype](/docs/IoTGitHubFrame_stripboard.png)
47+
48+
After finishing soldering, your board should look similar to this one
49+
50+
![Soldered stripboard](/docs/photos/photo_2.jpg)
51+
52+
## STEP 2
53+
54+
In the [printouts folder](https://github.com/sqra/iot-github-frame/tree/master/printouts) you will find print templates that will help you drill holes:
55+
- [back template](https://github.com/sqra/iot-github-frame/blob/master/printouts/drilling-template-back.pdf)
56+
- [side template](https://github.com/sqra/iot-github-frame/blob/master/printouts/drilling-template-side-buttons.pdf)
57+
58+
Print them and then tape back template to the back of the frame and side template on the right edge of the frame. Use the appropriate drills to drill the holes. Cut the holes for the displays and the button with a knife.
59+
60+
![Cutting holes](/docs/photos/photo_5.jpg)
61+
62+
Insert the displays and diodes in the holes using hot glue.
63+
64+
![Assembly of parts](/docs/photos/photo_3.jpg)
65+
66+
That's how it should look from the front
67+
68+
![Front view](/docs/photos/photo_4.jpg)
69+
70+
## STEP 3
71+
72+
In this step you need to adapt the graphics to your repository. To do this, edit the [main PSD file](https://github.com/sqra/iot-github-frame/blob/master/printouts/main-graphics-template.psd) and then print it on a regular A4 sheet. You can use the free online editor [Photopea](https://www.photopea.com/). If you want to, you can also print a [label](https://github.com/sqra/iot-github-frame/blob/master/printouts/side-buttons-labels.psd) with the description of the side buttons. The self-adhesive paper works best for this.
73+
74+
## STEP 4
75+
76+
Now you have to program ESP32 module. Download the latest [Arduino IDE](https://www.arduino.cc/en/main/software) and the necessary libraries. Clone repository. Connect the ESP32 via the USB cable to the computer and upload the code.
77+
78+
## STEP 5
79+
80+
After upload firmware, unplug and plug again USB cable to your device. Status led should glow in red. After few seconds should change color to blue. It means that device is in AP mode. Using a computer or phone scan nearby networks and find **GITHUB-FRAME** ssid.
81+
Once you connect to the selected access point you will be automatically redirected to the configuration page. Here you enter the name and password for the network with which your frame will connect.
82+
Save credentials and reset ESP.
83+
84+
If everything has been done correctly, the status LED should be green and the display should show ```SEt``` ```rEPO``` ```IP``` ```192.168.xxx.xxx```. This means that we must now select the repository. Go to computer or phone and connect to the same WiFi network as ESP. Then in browser url placeholder type ip address of your ESP. You will be redirected to the page with the configuration of the repository. In example:
85+
For repository url: ```https://github.com/DivanteLtd/vue-storefront```
86+
87+
![Front view](/docs/photos/photo_6.jpg)
88+
89+
Fill form fields and click save configuration.
90+
91+
92+
93+
That’s all :)
94+
95+
Now you can follow the popularity of the selected repository.
96+
Have a nice building !
97+
98+
| ![Front view](/docs/photos/ready_1.jpg) | ![Front view](/docs/photos/ready_2.jpg) |
99+
|--|--|
100+
| ![Front view](/docs/photos/ready_3.jpg) | ![Front view](/docs/photos/ready_4.jpg) |
101+
102+
103+
[YT - Watch "IoT GitHub Frame" in action](https://youtu.be/0hm3B-3gIzI)
104+
105+
## FAQ
106+
107+
#### Led status is glow in red or blue and display zero.
108+
- Check if your router is connected to the internet. If there is a temporary network loss, the device will automatically connect to the network after a while. You can check also your WiFi credentials and repository configuration.
109+
110+
#### How to set automatic updates ?
111+
- Edit the update.h file
112+
Edit the url under which the latest version of the .bin file will be available:
113+
`const char* versionFileUrlBase`
114+
`const char* binFileUrlStart`
115+
`const char* binFileUrlEnd`
116+
and change version by increasing number of
117+
`FW_VERSION variable`.
118+
Then export from Arduino IDE [binary](https://github.com/sqra/iot-github-frame/blob/master/OTA/IoTGithubFrame.ino.esp32.bin) file and place on your server. The last thing you have to do is update version number in [IoTGithubFrame.version](https://github.com/sqra/iot-github-frame/blob/master/OTA/IoTGithubFrame.version) file to be the same as `FW_VERSION`. By default, the update check is set to 00:00 and each time the frame is started.
119+
120+
#### What the colors of the status LED mean ?
121+
- Red - no connection with network
122+
Green - everything works well
123+
Blue - AP mode - ssid: **GITHUB-FRAME**
124+
125+
#### How to check the ip address of my frame ?
126+
- Just press and hold the **SHOW IP** button until the address appears on the display
127+
128+
#### We have hackaton day. I'd like to know how many new stargazers will get my repository today
129+
- Just press and hold the **RESET TODAY'S STARS** button until the zero digit appears on the smaller display. From now until midnight you will receive the number of new stargazers.
130+
131+
#### My device is connected to the network but when I send the request and got a 400 error
132+
- You have to check certificate of the Root CA. It is very possible that it has already expired. Go to [this](https://techtutorialsx.com/2017/11/18/esp32-arduino-https-get-request/) page and update key in your [cacert.h](https://github.com/sqra/iot-github-frame/blob/master/cacert.h) file.
133+
**Important!** If you have an anti-virus installed, check in its settings whether the SSL protocol [filtering mode is disabled](https://support.eset.com/kb3126/?locale=en_US&viewlocale=en_US). If it is enabled, you can disable it temporarily and save the key correctly. Then restore the settings of the antivirus.
134+
135+
136+
### Useful links
137+
138+
- [User guide for TM1637 4 digits display](https://halckemy.s3.amazonaws.com/uploads/attachments/257650/user_guide_for_tm1637_4_digits_display_Yr8LQNg7dV.pdf)
139+
- [First Use of ESP32 Devkit Board](https://startingelectronics.org/articles/ESP32-WROOM-testing/)
140+
141+
142+
143+
144+

docs/photos/photo_1.jpg

1.42 MB
Loading

docs/photos/photo_2.jpg

1.15 MB
Loading

docs/photos/photo_3.jpg

1.3 MB
Loading

docs/photos/photo_4.jpg

2.36 MB
Loading

docs/photos/photo_5.jpg

473 KB
Loading

docs/photos/photo_6.jpg

37.3 KB
Loading

docs/photos/ready_1.jpg

532 KB
Loading

docs/photos/ready_2.jpg

473 KB
Loading

0 commit comments

Comments
 (0)