Drowsiness is feeling abnormally sleepy or tired. Driving is a complex psychomotor skill. Fatality rates rise as driver becomes drowsy. NHTSA accounted 91,000 motor vehicle crashes have occurred due to drowsy driving till 2017 and drowsy drivers cause 17% accidents with fatality. The IoT technology offers unprecedented opportunities to interconnect human beings as well as facilitate Machine-to-Machine (M2M) communication. The sensors and network allow all things to communicate directly with each other to share information and allow us to have an instrumented system where accurate data is readily available to make an informed optimal decision. This paper presents one such practical system for detecting drowsiness of drivers. Consequently, a system such as the one presented here can be of immense applicability in reducing the fatality rate due to traffic accidents. Usually, IoT applications, such as the one presented here, collect enormous quantity of data from the sensors and extract some sensible output, possibly using a pattern recognition algorithm. This is where Machine Learning, a branch of study under artificial intelligence, is employed. This paper presents the implementation of a system for detecting when a driver feels drowsy and sound an alarm to alert and discusses the machine learning approach adopted and the use of cloud for processing data.