Towards Devising a Cloud-Based Green Digital Signage Display







Background and Motivation

Our Proposed Solution

Block Diagram

Required Equipments

System Implementation

Algorithm

Detailed Pin Diagram

Problems Faced

Group Members Information

Course Teacher

Project Video






Background and Motivation


Signage display, which is used to convey messages and information to the people, has evolved from conventional to the digital signage. Conventional signage has been utilized using printed papers or handwritten, whereas digital signage normally used in industries such as food and beverage industries, shopping malls, universities, and also highways to show information and messages. Normally, all the displays are linked to a control system whereby update process can be done. In other words, displays update can only be done in one place only. Therefore, to ease the job for people, updates should be able to carry out anywhere not necessary at one place.






Our Proposed Solution


In order to display the information, we use LED Dot Matrix Displays due to the low energy consumption, low maintenance and high efficiency, compared to the other displays. However, the power hungriness of a dot matrix display is higher than any other components of an electronic device, which leads us to look for an way to make it energy efficient. We green it by varying duty cycle.

On the other hand, we use an ultra-low cost IoT system named as ESP8266 in order to update the display contents. This wifi module allow us to control our display from anywhere, even if we are on the other side of the globe. An authorized user can quickly access the system and update the information to the display through Internet using simple web browser without any client-side application software. Additionally, our system can work without Internet or router.






Block Diagram




                                                 block diagram

                                                                                                                             Figure 1: Block Diagram






Required Equipments







System Implementation


Our system consists of three modules namely Display Module, Network Module, and Power Module. The function of the display module is to show any given message with the help of 8*8 Bi-color LED Dot Matrix Display comprised of total 8 LED Dot Matrices arranged in 2x4 (16x32 pixel) setup. The network module consists of ESP8266 Wifi Module. The message is given from the Remote Central Server situated anywhere. As soon as the message is changed from the central server, the display module shows the changed message instantly. We can also update the contents via WLAN created by router, or hotspot of this Wifi module. The power module supplies the required power to the system. Now, we briefly explain the operation of network and display modules individually and how they collaborate.

Network Module

Brief Description of ESP-8266:

The ESP8266 is a low-cost Wi-Fi chip with full TCP/IP stack and MCU (Micro Controller Unit) capability. ESP8266 is capable of either hosting an application or offloading all Wi-Fi networking functions from another application processor. In the world of internet of things(IoT), 8266 is widely used device. The onboard microcontroller of ESP8266 supports the programming framework for arduino boards. Hence, we are able to write codes for the network module with the familiarity of arduino. This wifi module requires a 3.3 volt power supply. It uses the TX, RX to perform serial communication with other components. It has two general purpose pins, namely GPIO pins.

Basic networking with ESP8266:

By programming the 8266, we can connect it to a wifi access point(for example, a router, or a wifi hotspot) , by doing this the 8266 module acquires a local IP of the LAN and it can be communicated with, using that IP.

                                                                                          

High level overview of the operations of the network module:

  1. ESP module to remote server communication and vice versa
  2. ESP module to display module communication

USART was used to establish serial communication between ESP module and the ATMEGA32 associated with the display module, in this way, the remote data received in the ESP module is sent to the display module’s microcontroller. For serial communication, we used a baud rate of 9600 bits per second. When a message is received in the ESP module, an interrupt is given to the ATMEGA32 via the GPIO2 pin, upon receiving the interrupt, the associated ISR fires up and loads received data to an array byte by byte until a sentinel data byte is received.

Our display module has three ways of updating display. We can update the contents from central remote server, from inbuilt local server, and by creating hotspot.


                                                   

Display Module

Theory of LED dot matrix display:

In a dot matrix display, multiple LEDs are wired together in rows and columns. This is done to minimize the number of pins required to drive them. For example, a 8×8 matrix of LEDs (shown below) would need 64 I/O pins, one for each LED pixel. By wiring all the anodes together in rows (R1 through R8), and cathodes in columns (C1 through C8), the required number of I/O pins is reduced to 16. Each LED is addressed by its row and column number. In the figure below, if R4 is pulled high and C3 is pulled low, the LED in fourth row and third column will be turned on. Characters can be displayed by fast scanning of either rows or columns.


                                                                                                       

Using Matrix Display:

In order to display a character or shape on a matrix display, the character is fragmented into several frames such that, by playing/blending these frames sequentially at a speed, faster than that human brain can perceive, the character appears to be displayed continuously (Persistence Of Vision). This is similar to ‘GIF format’. Fragmentation can be done along the column or along the row. Consider a Column Anode/Row Cathode matrix display, to display a character alphabet 'A', this character can be fragmented into columns to get frames, as shown in the images below:


                                                                             

Other ICs:

To make our displays robust and cheap, we use shift registers instead of traditional MUX and dot matrix driver circuit. To meet up power hungriness of dot matrices, we use external power module and darlington transistor arrays.






Algorithm




There are two different algorithms, one running on the display module microcontroller, and the second one running on the network module on chip microcontroller.

Algorithm In Network Module:

Local host:

Step 1: Initializing wifi module by connecting it with a router(with/without internet access), go to step 2
Step 2: Setup the local server within the wifi module, go to step 3
Step 3: Wait till a client wishes to connect to the server, if a client joins, go to step 4
Step 4: Wait till the client sends a message, if message is received, go to step 5
Step 5: Send an interrupt to the display module and send the message via serial communication, go to step 3

Remote server:

Step 1: Initializing wifi module by connecting it with a router(with internet access), go to step 2
Step 2: Wait for a pre-specified duration, then send a GET request to the remote server for receiving the message to be displayed, go to step 3
Step 3: Wait till a response is received from the server, if a valid message is received go to step 4, if no valid data is received, go to step 2
Step 4: Send an interrupt to the display module and send the message via serial communication, go to step 2

Algorithm In Display Module:

Step 1. Initializing of the USART and the Interrupt, go to step 2
Step 2: Initializing display containers( arrays) with demo message, go to step 3
Step 3: Send bit pattern corresponding to the message in the containers to shift registers, go to step 4
Step 4: Latching shift register content in order to drive the LED Matrix , go to step 5
Step 5: If an interrupt occurs, load the message containers with received message from the network module, go to step 6
Step 6: Go to Step 3






Detailed Pin Diagram




                          pin diagram

                                                                                                                             Figure 2: Pin Diagram






Problems Faced


  1. We had assumed that the DNS lookup is done automatically in the ESP8266 module, which was incorrect, and we spent quite a long time before we figured out that 8266, being a basic wifi based networking module, does not have DNS lookup feature, so we had to use static IP to reach our remote server.

  2. When merging both the local server and the remote server, we observed that, a client was being added to the local server automatically, which was unexpected, it took us time to figure out how to fix that.

  3. When sending messages from the local server, some special characters like space, %, etc breaks down into formats that are directly not interpreted by the ESP-module the way we want them to be, for these special characters, we had to adopt different parsing schemes.

  4. We faced some problems while figuring out the best baud rate, system frequency combination, after a bit of analysis, we choose 19200 baud rate and 16MHZ system frequency for USART operations. The most diffiult problem we had to solve is to manage the data received through the GPS receiver. It receives a lot of data in a very short interval and it was difficult to sort out only the necessary attributes in a very short time.

  5. We faced low illuminance problem in dot matrix displays. We solved it by supplying more current using power module






Group Members Information


Section B2: Group 6






Course Teachers


  1. Md. Abdus Sattar

  2. Md. Aashikur Rahman Azim

  3. Md. Iftekharul Islam Sakib






Project Video




                                                                             



Back to top