How to design data comm for multiple Arduino/RPi3 project

Im putting together a project that has 2 main locations:

Location 1:
1.1 Rpi3 which controls a bt relay board
1.2 Arduino (Ard#1) (maybe nano) that reads 2 current sensors and will send data to Rpi3

Location 2:
2.1 Ard#2 will control 6 PIR sensors (maybe nano) and must report to Rpi3
2.2 Ard#3 will control an ultrasonic sensor and an NFC shield (might be UNO) & report to Rpi3
2.3 Ard#4 will control 8 PIR sensors (maybe nano) and must report to Rpi3
2.4 Ard#5 will control Stepper via L298N, photo sensor, moisture sensor, solenoid & water flow meter
All these arduinos must report the data to the Rpi3.

So I was thinking of sending the data via wifi to a local webserver on Rpi3 but I dont want to add a wifi module to each arduino, do I? These are not critical in any way, but the reporting times would be something like:

PIR sensors should report every minute or so
Ultrasonic and NFC only when activated, around 5-10 times a day
Stepper/298N and Solenoid will be activated about 2x a day
Water Flow Meter and Power Sensors should reporte every minute or so

Pros and Cons:
WIFI
PROS:simple to post to a db on a rpi3
CONS:Cumbersome to add wifi module to each arduino

BT
PROS:simple to use
CONS: BIG - There are about 2 or 3 concrete walls between Location1 and Location2 and about 10 meters. BT fails here big time. Maybe it would work for arduinos to post to a second rpi3 in Location2, but makes project more expensive and fragile.

Serial
PROS: robust and simple
CONS: Never used it before, not sure how to do it, btw, I mean hardwiring arduinos between one another?

So Im thinking, either:

A. add wifi modules to each arduino and post to db-server

B. add second rpi3 to location2

C. hardwire comm between Ard2-6

D. bring current sensors and relay board and rpi3 from loc1 to loc2, but i still need to send data from ARD2-6 to the Rpi3.

Any suggestions?

This calls for a set of NodeMCU instead of Arduino. The 11 I/O you get on each appear enough for your requirements and they got WiFi built in. This assumes you have proper WiFi coverage of course.

Yeah good point about wifi coverage.

Actually all Arduinos in Location2 will be right next to each other so that's not an issue there. They will be literally one next to the other. But location 2 is a studio/home office so I could have a wifi access point right there for them to access and the rpi3 at location 1 can plug into an rj45 to get on the network.

Try it out... Take a mobile phone, connect it to the intended network, and see if you have good connection at the intended locations for your devices. Maybe moving the router a bit helps (even a small movement sometimes has great effect).

Oh I can't, the house hadn't been built yet