Faut pas se leurrer, aucune de ces deux techno de bus n'a été conçu pour une telle distance.
Personnellement, si la consommation n'est pas un problème, je collerais un attiny au capteur de température qui ferait la lecture localement (et dans ce cas la techno du capteur importe peu) et je ferais une liaison RS422 entre le senseur et l'arduino. La liaison entre l'attiny et l'arduino peut alors se faire avec un simple câble Ethernet.
Ne pas oublier de mettre des protections foudre sur tous les signaux parce que sinon au premier orage il va y avoir des dégâts.