|
| 1 | +# JR-Beru (JR発車ベル) |
| 2 | + |
| 3 | +A Japanese train station departure bell and announcement system hardware replica with a responsive web-based control interface, designed to run on ESP8266 microcontrollers and to be installed into the authentic housing. JR-Beru brings the nostalgic sounds of Japanese train stations to your home, offering both physical and remote control options. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## Features |
| 8 | + |
| 9 | +### 🚂 Audio Playback |
| 10 | + |
| 11 | +- **Departure Melodies**: JR station departure melodies |
| 12 | +- **ATOS Announcements**: Yamanote Line ATOS announcements. |
| 13 | +- **Door Chimes**: Door opening and closing sounds. |
| 14 | +- **Platform Announcements**: JR station platform announcements. |
| 15 | + |
| 16 | +### 🎧 Control Methods |
| 17 | + |
| 18 | +- **Physical Button Control**: |
| 19 | + - Single press: Start melody loop. |
| 20 | + - Release: Play ATOS announcement followed by door chime. |
| 21 | +- **Web Interface Control**: |
| 22 | + - Audio selection for all sound types. |
| 23 | + - Volume control (range: 0-30). |
| 24 | + - Random play toggle. |
| 25 | + - Manual platform announcement trigger. |
| 26 | + |
| 27 | +### 📱 Web Interface |
| 28 | + |
| 29 | +- **Responsive Design**: Fully functional on both desktop and mobile devices. |
| 30 | +- **Station Sign Display**: |
| 31 | + - JR station signage design (Static for now, can be changed to dynamic with further development). |
| 32 | + - Multilingual station names (Japanese, Korean, English). |
| 33 | + - Line Marker displaying (e.g., JY03). |
| 34 | + - Direction indicators for prev/next stations. |
| 35 | +- **Real-time Controls**: Instant feedback and response to user inputs. |
| 36 | + |
| 37 | +<img width="294" alt="Screenshot 2024-12-25 at 14 20 59" src="https://github.com/user-attachments/assets/da28639d-7efb-4e0b-ba38-c74ee062fd0b" /> |
| 38 | + |
| 39 | + |
| 40 | + |
| 41 | +### 🔧 System Features |
| 42 | + |
| 43 | +- **WiFi Manager**: Simplified WiFi configuration with AP mode fallback. |
| 44 | +- **OTA Updates**: Seamless over-the-air firmware updates. |
| 45 | +- **Volume Memory**: Retains last volume settings between power cycles. |
| 46 | +- **Track Selection Memory**: Remembers the last played tracks for each folder. |
| 47 | +- **Serial Output**: Detailed status logs for monitoring and debugging. |
| 48 | + |
| 49 | +--- |
| 50 | + |
| 51 | +## Hardware Requirements |
| 52 | + |
| 53 | +- **ESP8266 Board**: Compatible with NodeMCU, Wemos D1 Mini, etc. |
| 54 | +- **DFPlayer Mini MP3 Player** |
| 55 | +- **SD Card**: Formatted as FAT32 with audio files. |
| 56 | +- **Speaker**: Suitable for MP3 playback. |
| 57 | +- **Push Button**: Recommended: BSW215B3. |
| 58 | +- **Power Supply**: 5V regulated power source. |
| 59 | + |
| 60 | +--- |
| 61 | + |
| 62 | +## Pin Configuration |
| 63 | + |
| 64 | +| Pin | Function | |
| 65 | +| --- | ----------------- | |
| 66 | +| D5 | DFPlayer RX | |
| 67 | +| D6 | DFPlayer TX | |
| 68 | +| D4 | Main Button Input | |
| 69 | + |
| 70 | +--- |
| 71 | + |
| 72 | +## Audio File Structure |
| 73 | + |
| 74 | +The SD card file system must follow this structure: |
| 75 | + |
| 76 | +``` |
| 77 | +/01/ # Departure melodies |
| 78 | +/02/ # ATOS announcements |
| 79 | +/03/ # Door chime sounds |
| 80 | +/04/ # Platform announcements |
| 81 | +``` |
| 82 | + |
| 83 | +--- |
| 84 | + |
| 85 | +## Setup Instructions |
| 86 | + |
| 87 | +1. Format the SD card as FAT32. |
| 88 | +2. Copy audio files to the appropriate folders. |
| 89 | +3. Connect hardware according to the [Pin Configuration](#pin-configuration). |
| 90 | +4. Flash firmware to the ESP8266 using the Arduino IDE. |
| 91 | +5. Power on the device. |
| 92 | +6. Connect to the "JR-BERU-AP" WiFi network. |
| 93 | +7. Configure your WiFi settings via the web interface. |
| 94 | +8. Access the web interface at the device’s assigned IP address. |
| 95 | + |
| 96 | +--- |
| 97 | + |
| 98 | +## Web Interface Access |
| 99 | + |
| 100 | +- **URL**: `http://[device-ip]` |
| 101 | + |
| 102 | +--- |
| 103 | + |
| 104 | +## Firmware Updates |
| 105 | + |
| 106 | +1. Access `http://[device-ip]/update`. |
| 107 | +2. Enter credentials when prompted: |
| 108 | + - **Default OTA Username**: `JR` |
| 109 | + - **Default OTA Password**: `beru` |
| 110 | +3. Select the new firmware file. |
| 111 | +4. Click upload to update. |
| 112 | + |
| 113 | +--- |
| 114 | + |
| 115 | +## Version History |
| 116 | + |
| 117 | +### **MCU-R0.3.7 WebUI-R2.0.5** |
| 118 | + |
| 119 | +- More accurate station sign display. |
| 120 | +- Improved audio control reliability. |
| 121 | +- Added Reset DF-Player support in WebUI. |
| 122 | + |
| 123 | +### **MCU-R0.3.5 WebUI-R2.0.2** |
| 124 | + |
| 125 | +- Enhanced station sign display. |
| 126 | +- Improved audio control reliability. |
| 127 | +- Added multilingual support. |
| 128 | +- WiFi connection stability improvements. |
| 129 | + |
| 130 | +--- |
| 131 | + |
| 132 | +## Serial Monitoring |
| 133 | + |
| 134 | +The device outputs detailed status information via Serial (115200 baud rate). Use the Arduino IDE’s Serial Monitor or any serial terminal to monitor real-time logs. |
| 135 | + |
| 136 | +### Boot Sequence Output |
| 137 | + |
| 138 | +``` |
| 139 | +=================== |
| 140 | +JR-Beru Booting |
| 141 | +=================== |
| 142 | +Firmware Version: MCU-RX.X.X WebUI-RX.X.X |
| 143 | +Initializing MP3-Player ... (May take 3~5 seconds) |
| 144 | +MP3-Player online. |
| 145 | +=======Audio File Count:======= |
| 146 | +Melody Files: X |
| 147 | +Atos Files: X |
| 148 | +DoorChime Files: X |
| 149 | +VA Files: X |
| 150 | +=============================== |
| 151 | +Starting Wifi Manager... |
| 152 | +Wifi Manager Started! |
| 153 | +Web server started! |
| 154 | +========Boot up Completed!======== |
| 155 | +``` |
| 156 | + |
| 157 | +### Audio Playback Status |
| 158 | + |
| 159 | +- Track selection: `PlayingFolder: X, Playing Audio: Y` |
| 160 | +- Random play: `RandomPlay: X/Y` |
| 161 | +- Playback completion: `Number:X Play Finished!` |
| 162 | +- Door chime triggers: `====Door Chime playing====` |
| 163 | + |
| 164 | +### Error Messages |
| 165 | + |
| 166 | +- `Time Out!`: MP3 player communication timeout. |
| 167 | +- `Stack Wrong!`: MP3 player stack error. |
| 168 | +- `Card not found`: SD card reading error. |
| 169 | +- `Cannot Find File`: Requested audio file not found. |
| 170 | +- `File Index Out of Bound`: Invalid file number requested. |
| 171 | + |
| 172 | +### WiFi Status |
| 173 | + |
| 174 | +- Connection status. |
| 175 | +- IP address assignment. |
| 176 | +- Web server initialization. |
| 177 | + |
| 178 | +### Debugging Tips |
| 179 | + |
| 180 | +1. Open Serial Monitor in Arduino IDE. |
| 181 | +2. Set baud rate to 115200. |
| 182 | +3. Ensure "Newline" is selected for line ending. |
| 183 | +4. Power cycle the device to see boot sequence. |
| 184 | +5. Monitor real-time operation status. |
| 185 | + |
| 186 | +--- |
| 187 | + |
| 188 | +## Credits |
| 189 | + |
| 190 | +- Station melodies and announcements are the property of JR East. |
| 191 | +- Web interface design inspired by JR Yamanote Line station signage. |
| 192 | +- Built using the ESP8266 Arduino Core and DFRobotDFPlayerMini library. |
| 193 | + |
| 194 | +--- |
| 195 | + |
| 196 | +## License |
| 197 | + |
| 198 | +This project is released under the MIT License. See the `LICENSE` file for details. |
| 199 | + |
| 200 | +--- |
| 201 | + |
| 202 | +## Support |
| 203 | + |
| 204 | +For issues and feature requests, please use the [GitHub Issues](https://github.com/99buntai/JR-BERU-ESP/issues) page. |
| 205 | + |
0 commit comments