IoT vs. M2M: Key Differences, Hardware, and Communication Layers