Novartis to buy Speedel for $880 million