Internet of Things (IoT) provides ubiquitous intelligence and pervasive interconnections to diverse physical objects. The overall network performance of existing IoT is restricted by limited network lifetime. Hence, energy harvesting technology with energy replenishment from mobile charger is proposed to prolong the network lifetime. Energy harvesting IoT is emerged. Nodes can not only request energy replenishment from the mobile charger, but also transfer surplus energy to the mobile charger for improving energy utilization. This gives rise to bidirectional energy flows in the network. A new paradigm that energy flows coexist with data flows is further resulted in. But there exist great challenges on controlling these flows. Toward centralized flow control, we exploit software defined networking to simplify and optimize network management, thus introduce software defined energy harvesting IoT (SEANET). In our proposed architecture, the data plane, energy plane, and control plane are decoupled to support enhanced communications and flexible energy scheduling. We consider reliable communications for SEANET, and propose to relay data packets among the nodes with high reputation values and sufficient energy. In particular, reputation values of nodes are computed by the multiweighted subjective logic for higher accuracy. Besides, a Nash bargaining game is formulated to solve the benefit allocation problem for energy trading in SEANET. Numerical results indicate that SEANET improves data traffic by reducing packet loss, optimizes energy utilization, and saves energy.