Posts with «php» label

Bread Online is a Bread Maker for the Internet of Things

An engineering student at the University of Western Macedonia has just added another appliance to the ever-growing list of Internet enabled things. [Panagiotis] decided to modify an off-the-shelf bread maker to enable remote control via the Internet.

[Panagiotis] had to remove pretty much all of the original control circuitry for this device. The original controller was replaced with an Arduino Uno R3 and an Ethernet shield. The temperature sensor also needed to be replaced, since [Panagiotis] could not find any official documentation describing the specifications of the original. Luckily, the heating element and mixer motor were able to be re-used.

A few holes were drilled into the case to make room for the Ethernet connector as well as a USB connector. Two relays were used to allow the Arduino to switch the heating element and mixer motor on and off. The front panel of the bread maker came with a simple LCD screen and a few control buttons. Rather than let those go to waste, they were also wired into the Arduino.

The Arduino bread maker can be controlled via a web site that runs on a separate server. The website is coded with PHP and runs on Apache. It has a simple interface that allows the user to specify several settings including how much bread is being cooked as well as the desired darkness of the bread. The user can then schedule the bread maker to start. Bread Online also comes with an “offline” mode so that it can be used locally without the need for a computer or web browser. Be sure to check out the video demonstration below.

[Thanks Minas]


Filed under: Arduino Hacks, cooking hacks

Arduino web architecture, back to the future

The last couple of months have been the most exciting of my entire career. Here at Arduino we are doing a big shift in terms of technology, user experience, and web improvements.

A new Arduino web ecosystem is arising, and the first hint of this new approach is visible in the Arduino Day website. This single-page website was the perfect fit to start experimenting with some new technologies we wanted to put in production. The Arduino Day website was a testbed for some new features of the new architecture we want to achieve.

Goals

  1. Website online and running 99.98% of the time
  2. Fast on every device
  3. Easy way to push updates online
  4. New theme with a single page app
  5. Clear division between presentation and functionalities (client/server architecture)
  6. Https whenever is possible
  7. Microservices

People

How did we achieve these results? It has been a challenge but, from November on, we started building a new Web team with a good mix of junior and more experienced developers. Putting together the team has been key, but we also needed to change some aspects of the way we work.

The team has been always under a tight schedule, at first we started fixing legacy bugs all around, many are still in progress, but we also started experimenting with new things. We started following the agile development methods, including a daily standup meeting to better coordinate our team of designers and developers, we create dedicated topic channel in our chat system to better tackle issues and follow the improvements roadmap, and we created clear todo lists organized by priority.

Technologies

  1. Go Language at the heart of our Web Applications
  2. Angular.js as the framework to create complex and nice websites
  3. PHP for widely used Application built by other communities (forum, blog, etc.)

We based most of our web applications on PHP for many reasons. It is widely used, there are many developers proficient in it, and many of the Arduino developers are familiar with it.

If you are a tech addicted like me you know there are many downsides of using PHP, or at least it was not a good fit for us for many different reasons.

We wanted to separate the frontend and the backend, we have frontend engineers and web designers that are very good at css/js, and backend engineers who knows how to design a REST API. The division of tasks allows developers to feel comfortable in their own expertise area.

We need frequent updates to our web applications and most of the apps are custom.

This ended up in having an easy way to update the system, with just a single binary and all dependencies in it. In addition we planned to have many microservices, each of them doing just one small thing, the Unix way. The language of our choice was Go.

Go is a relatively new language and allowed us to create REST API in few hours/days. It is impressively fast and soon we figured out that our bottleneck was not the language/framework neither the application, but our database (we are thinking about moving from MySQL to PostgreSQL, MongoDB or RethinkDB -very impressed by the last one-)

Having a single binary application made it extremely easy to setup a scalable architecture. Now adding a new server to our load balancer requires just a couple of minutes and it is almost completely automated.

 The frontend of Arduino Day Website is written using the Angular.js framework, allowing us to have a very interactive and responsive interface with an easy way to deploy. Everything is deployed to a nginx server (soon we will use something like Amazon S3), the files are minified and compressed so that the website is relatively fast.

I know this is not exactly cutting edge, but it is very hard to introduce something new in an environment developed for many years and used by so many users of our community. You cannot just introduce a new feature or start a project from scratch, you need to support your old code, keep it running, maintaining it and possibly avoid downtimes and maintenance windows.

Learning from mistakes

We are makers, we made mistakes. Every transition is risky and could end up is some issues. We took the risk when we migrated the forum to a new unstable version and we made a mistake, we learnt a lot from it and we are trying to similar issues as much as possible in the future.

Doing good things is hard, it requires time and the constant feedback from our amazing community. Many of you helped us already giving feedback on the arduino.cc website, the Arduino Day website, the forum and so on. We keep improving the whole web platform as fast as we can, and obviously we are always looking for the right new talent to join the Arduino team.

 

Arduino Blog 16 Apr 14:59

Programming Arduino on the cloud: codebender

codebender is web-based IDE, mainly built with HTML5 and Javascript, that focuses on the development for the Arduino platform. Since it is going to be used directly from the browser (note that currently codebender is still beta), it will further simplify the whole development process, avoiding the installation of software and libraries on the local machine.

From the home page of the project:

We want to lower the barrier to entry, which is necessary to help everyday people start their first project, become makers and advance technology instead of using it. codebender requires no installation, so you can get started with Arduino programming the minute you get one in your hands! And with the development tools we provide, you can do so faster and easier! codebender also stores your code on the cloud, so it’s safe and accessible from anywhere, anytime.

Several nice features will be available soon, such as remote flashing: together with an Ethernet shield flashed with a properly designed TFTP bootloader, you will be able to upload a sketch remotely, over the internet! Another nice feature regards its integration with the open documentation available on the Arduino website, which will be accessible directly from the IDE by selecting a piece of code and, then, by pressing ctrl+space.

More information can be found here.

[Via: HackADay and codebender's website]

Salvius

Primary image

What does it do?

Salvius is my humanoid robotics project that I have been working on over the past year. The robot still requires work before it can move around on its own because I still need to get another motor controller. While I search for another Curtis 12v model: 1204 motor controller I continue to work on many other parts of the robot's design. The robot now has night vision and ultrasonic hearing. You can connect to the robot's computer using any wireless enabled device and control the robots actions.

Cost to build

$650,00

Embedded video

Finished project

Number

Time to build

Type

wheels

URL to more information

Weight

120000 grams

read more

Arduino hack lights up the tree with every email, spammers get in spirit

The holidays are all about eggnog, ugly sweaters and disconnecting from the internet just long enough to reassure the family you still care. For those of us with web separation anxiety, the folks at MAKE have hooked us up with an easy way to stay hip to incoming emails -- by connecting the holiday fir to the Internets. It works as such: using an Arduino and PHP script, the tree will check for incoming emails and light up if the number has increased. The set-up can be tweaked based on your most valued type of alert like YouTube comments, texts or changes in the weather. To the family, it will look like unparalleled holiday cheer rather than your cue to ditch the sing-a-long and get back to Gmail. Check out the video after the break.


[Thanks, Matt]

Continue reading Arduino hack lights up the tree with every email, spammers get in spirit

Arduino hack lights up the tree with every email, spammers get in spirit originally appeared on Engadget on Mon, 19 Dec 2011 01:09:00 EST. Please see our terms for use of feeds.

Permalink | Email this | Comments
Engadget 19 Dec 06:09
arduino  christmas  hack  hacking  holiday  internet  make  php  script  scripting  video