  An IoT (Internet of things) system supports a massive number of IoT devices
wirelessly. We show how to use Cell-Free Massive MIMO (multiple-input and
multiple-output) to provide a scalable and energy efficient IoT system. We
employ optimal linear estimation with random pilots to acquire CSI (channel
state information) for MIMO precoding and decoding. In the uplink, we employ
optimal linear decoder and utilize RM (random matrix) theory to obtain two
accurate SINR (signal-to-interference plus noise ratio) approximations
involving only large-scale fading coefficients. We derive several max-min type
power control algorithms based on both exact SINR expression and RM
approximations. Next, we consider the power control problem for downlink (DL)
transmission. To avoid solving a time-consuming quasi-concave problem that
requires repeat tests for the feasibility of a SOCP (second-order cone
programming) problem, we develop a neural network (NN) aided power control
algorithm that results in 30 times reduction in computation time. This power
control algorithm leads to scalable Cell-Free Massive MIMO networks in which
the amount of computations conducted by each AP does not depend on the number
of network APs.
  Both UL and DL power control algorithms allow visibly improve the system
spectral efficiency (SE) and, more importantly, lead to multi-fold improvements
in Energy Efficiency (EE), which is crucial for IoT networks.
