Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Thoughts on this architecture

Options
  • 04-10-2013 4:11pm
    #1
    Registered Users Posts: 23,212 ✭✭✭✭


    I've been asked to come up with a public information system for a college campus, that can actually be a project for 2-3 students. You know the type - when you walk into the foyer of a building, there is a large flat-screen tv with current news/information. There are about 10 buildings in total. It's not going to be in any way mission critical, so I am not too worried about students working on it.

    I'm thinking of a flat screen tv, with a raspberry PI attached via HDMI cable. The Pi will then talk via the wireless network to a Linux/Apache/MySQL/PHP machine that will store the info to be displayed.

    The programming of the PI would most likely be done using Python, it would retrieve data to be displayed from the MySQL database. It would probably refresh around once or twice a day, cycling through a number of info screens. I'd also have a web component where various departments can enter info to be displayed across campus on the screens.

    Any thoughts on the pros/cons of such a setup?


Comments

  • Technology & Internet Moderators Posts: 28,804 Mod ✭✭✭✭oscarBravo


    That's more or less exactly how I would have approached it. In fact, I might have simplified it further by having the Pi running a web browser in kiosk mode and just serving the info pages directly from a central web server.


  • Registered Users Posts: 1,922 ✭✭✭fergalr


    oscarBravo wrote: »
    That's more or less exactly how I would have approached it. In fact, I might have simplified it further by having the Pi running a web browser in kiosk mode and just serving the info pages directly from a central web server.

    Thats sounds simpler to me as well.
    Or even just have the Pi running something that displays presentations, or cycles through a PDF.

    That way it only needs network connectivity when you want to push/pull an update. It also keeps the Pi extremely simple, and makes it easy to debug - doesn't even have to render webpages.

    Do all the rendering on the server, easy to control, change, etc - assuming you don't want any interactivity on the client.


  • Registered Users Posts: 597 ✭✭✭bambam


    JavaFX on Raspberry Pi would be fun.


  • Registered Users Posts: 1,757 ✭✭✭Deliverance XXV


    oscarBravo wrote: »
    That's more or less exactly how I would have approached it. In fact, I might have simplified it further by having the Pi running a web browser in kiosk mode and just serving the info pages directly from a central web server.

    I built a statistics front end like this for work - very easy to implement.

    It was built with WAMP on a network server and just displayed to browsers in full screen mode. The webpage was set to refresh every hour which would then pull in new data. No real need for any AJAX magic as the backend numbers were entered probably once/week.

    Then came the mundane necessities such as disabling of screensavers and removing sleep times from displays, hard-drives and processors. Looking back, an android stick or pi might have sufficed but there was a few spare XPs knocking around...

    I was worried that the browser might leak memory after a long time in use but surprisingly there had been no issues.


  • Registered Users Posts: 23,212 ✭✭✭✭Tom Dunne


    oscarBravo wrote: »
    In fact, I might have simplified it further by having the Pi running a web browser in kiosk mode and just serving the info pages directly from a central web server.

    I hadn't thought of this, good idea.

    The only issue is the user-interface. The people who will be entering data to display are not only non-native English speakers, but very technophobic. So entering data via a straight forward web interface, perhaps with the option of a theme and convert straight to a static HTML page might be the way to go.

    On the flip side, I was hoping to get three projects out of this - infrastructure (physical bits, LAMP config), database/web interface and Pi software. So the "extra" work of development on the Pi is something I may leave in just to make it interesting.


  • Advertisement
  • Moderators, Society & Culture Moderators Posts: 17,642 Mod ✭✭✭✭Graham


    I'd have the remote Pi clients cache the data (static web pages) so that they will continue to run even without the central update server. This could be where Python could be deployed in replicating the updates from the central server to the remote Pi clients on a scheduled basis. You could get the students to decide whether the updates should be pulled by the remote clients, pushed from the update server or both.


  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    Tom Dunne wrote: »
    The only issue is the user-interface. The people who will be entering data to display are not only non-native English speakers, but very technophobic. So entering data via a straight forward web interface, perhaps with the option of a theme and convert straight to a static HTML page might be the way to go.

    You could find a suitable CMS and tweak it to suit your presentation/display needs. That would give you a simple web interface for the content creators to enter their content.

    You could also consider something a bit more "commodity" for the clients. "Nettops" are very cheap these days, not a lot more than a Pi, and can run Windows or Linux, and would be a bit more standardised if they need to be supported by someone else. That would obviously ruin the fun/novelty of use the Pi though :)


  • Registered Users Posts: 23,212 ✭✭✭✭Tom Dunne


    stevenmu wrote: »
    That would obviously ruin the fun/novelty of use the Pi though :)

    Um, if I'm completely honest, this is one of the reasons I chose this architecture (currently have one attached to my TV, running xbmc, belting out Radio Nova, controlled by my Android tablet :o )


  • Registered Users Posts: 11,264 ✭✭✭✭jester77


    I have something similar setup at work around the different teams. Raspberry pi hooked up to a monitor displaying a dashboard in the browser. Dashboard is generated on a mac mini using the dashing framework. Very light ruby framework running on sinatra and very easy to customise. The dashboard is made up of widgets and they are easy to build with ruby, coffescript and css and you can easily feed in data from anything that has an API.


  • Registered Users Posts: 23,212 ✭✭✭✭Tom Dunne


    Just a quick update on this.

    The students delivered. As suggested above, they went with a browser in kiosk mode, despite my suggestions of using Python and developing their own solution. :)

    They developed a pretty slick web based control panel, with associated access controls and permissions. Management here were easily fooled suitably impressed with the slick visuals and fades between screens of the control panel. I must find out what web framework they used.

    When we get back in September we are going to run a pilot across three locations on campus before full implementation. I already have version 2.0 in mind, incorporating video and no doubt a few other features.

    It's actually an excellent opportunity the group of students (4 of them) to learn that getting the software developed is only one part of the process. Dealing with the various stakeholders, support, training, physical installation, and even a campus policy for the system is proving a rich and varied experience for them.

    It's also fantastic to see the fruits of their labour being implemented in a real-world situation.


  • Advertisement
  • Moderators, Society & Culture Moderators Posts: 17,642 Mod ✭✭✭✭Graham


    It's great to hear about the results. Did they go with the Raspberry Pi for the clients in the end?


  • Registered Users Posts: 23,212 ✭✭✭✭Tom Dunne


    Graham wrote: »
    It's great to hear about the results. Did they go with the Raspberry Pi for the clients in the end?

    They did, yes. In fact, over the past 6 months, I've ordered about 25 of the things, for projects and for classes.

    I'm turning into a Raspberry Pi evangelist. :pac:


  • Registered Users Posts: 1,931 ✭✭✭PrzemoF


    Thanks for the update! I hope it's an open source project!


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    oscarBravo wrote: »
    In fact, I might have simplified it further by having the Pi running a web browser in kiosk mode and just serving the info pages directly from a central web server.
    That's basically how the displays on buses/trains in Germany and Switzerland work. They take in a JSON feed and render it using Javascript/CSS. They don't use Raspberry Pi though.


Advertisement